fbpx
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

Why Software Builds Fail and Areas for Improvement

Written by SPK Blog Post
Published on June 29, 2015

In a recently published paper, researchers at Google examined the issue of failed software builds within their organization. Specifically, they wanted to address the separate questions of “How often do builds fail?”, “Why do builds fail”, and “How long does it take to fix broken builds?” To answer these questions, the researchers looked at 26.6 million Java and C++ builds due to the overwhelming usage of these two languages within Google. For the purposes of this article, we will review the results of the question “why do builds fail?”

To determine why builds were failing, the researchers examined the build logs and categorized compiler error messages into different groups. Of the categories defined, the researchers looked at the top 25 most frequent error messages to identify the most common cause of build failure. The results indicated that only 10 percent of the error categories accounted for 90 percent of the broken builds, regardless of the language. Additionally, those errors where most commonly dependency related.

Insofar as these findings are generalizable to organizations outside of Google, the implications of this research suggest that dependency management is one of the most critical areas of concern for decreasing the amount of broken software builds. Potential actions could include reducing the dependencies for a given project, or developing assistive tools to help developers resolve dependency errors. Ideally, the goal should be to help prevent developers from submitting changes that contain dependency errors. In this study, the average resolution time was one to two additional builds. In this scenario, if we assume introducing a dependency-related bug requires two additional builds, the cost of such a bug is 3 times the elapsed build time in addition to the developer’s time required to resolve it.

Next Steps:

David Hubbell
Software Engineer
SPK and Associates

Latest White Papers

Costs and Benefits of Moving a .NET Application to the Cloud

Costs and Benefits of Moving a .NET Application to the Cloud

Do you know the full cost and benefits of moving your .NET application to the cloud? In this guide we’ll cover everything you need to know about your .NET cloud migration. Is this guide for you? If you’re faced with outdated legacy systems and the pressures of digital...

Related Resources

What is Observability And How Can It Optimize IT?

What is Observability And How Can It Optimize IT?

Your IT architecture is anything but simple. In fact, it’s more like the complex, yet silent spinal cord of your business functions. But what can you do when something goes wrong? Monitoring tools give you a partial view into business performance (or issues),...

Costs and Benefits of Moving a .NET Application to the Cloud

Costs and Benefits of Moving a .NET Application to the Cloud

Do you know the full cost and benefits of moving your .NET application to the cloud? In this guide we’ll cover everything you need to know about your .NET cloud migration. Is this guide for you? If you’re faced with outdated legacy systems and the pressures of digital...

Codebeamer vs. 12 Symptoms Of Poor Requirements Management

Codebeamer vs. 12 Symptoms Of Poor Requirements Management

Managing requirements can feel like a flawed game of telephone—messages get distorted by the time they reach their destination. This doesn't just waste time and resources, but puts the entire project at risk. Legacy tools often fall short in meeting modern project...