Header

UZH-Logo

Maintenance Infos

Every Build You Break: Developer-Oriented Assistance for Build Failure Resolution


Vassallo, Carmine; Proksch, Sebastian; Zemp, Timothy; Gall, Harald C (2020). Every Build You Break: Developer-Oriented Assistance for Build Failure Resolution. Empirical Software Engineering, 25(3):2218-2257.

Abstract

Continuous integration is an agile software development practice. Instead of integrating features right before a release, they are constantly being integrated into an automated build process. This shortens the release cycle, improves software quality, and reduces time to market. However, the whole process will come to a halt when a commit breaks the build, which can happen for several reasons, e.g., compilation errors or test failures, and fixing the build suddenly becomes a top priority. Developers not only have to find the cause of the build break and fix it, but they have to be quick in all of it to avoid a delay for others. Unfortunately, these steps require deep knowledge and are often time-consuming. To support developers in fixing a build break, we propose Bart, a tool that summarizes the reasons for Maven build failures and suggests possible solutions found on the internet. We will show in a case study with 17 participants that developers find Bart useful to understand build breaks and that using Bart substantially reduces the time to fix a build break, on average by 37%. We have also conducted a qualitative study to better understand the workflows and information needs when fixing builds. We found that typical workflows differ substantially between various error categories, and that several uncommon build errors are both very hard to investigate and to fix. These findings will be useful to inform future research in this area.

Abstract

Continuous integration is an agile software development practice. Instead of integrating features right before a release, they are constantly being integrated into an automated build process. This shortens the release cycle, improves software quality, and reduces time to market. However, the whole process will come to a halt when a commit breaks the build, which can happen for several reasons, e.g., compilation errors or test failures, and fixing the build suddenly becomes a top priority. Developers not only have to find the cause of the build break and fix it, but they have to be quick in all of it to avoid a delay for others. Unfortunately, these steps require deep knowledge and are often time-consuming. To support developers in fixing a build break, we propose Bart, a tool that summarizes the reasons for Maven build failures and suggests possible solutions found on the internet. We will show in a case study with 17 participants that developers find Bart useful to understand build breaks and that using Bart substantially reduces the time to fix a build break, on average by 37%. We have also conducted a qualitative study to better understand the workflows and information needs when fixing builds. We found that typical workflows differ substantially between various error categories, and that several uncommon build errors are both very hard to investigate and to fix. These findings will be useful to inform future research in this area.

Statistics

Citations

Dimensions.ai Metrics
3 citations in Web of Science®
2 citations in Scopus®
Google Scholar™

Altmetrics

Downloads

4 downloads since deposited on 29 Jan 2021
4 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Journal Article, refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scopus Subject Areas:Physical Sciences > Software
Language:English
Date:2020
Deposited On:29 Jan 2021 11:16
Last Modified:31 Jan 2021 14:12
Publisher:Springer
ISSN:1382-3256
OA Status:Green
Publisher DOI:https://doi.org/10.1007/s10664-019-09765-y
Related URLs:https://link.springer.com/article/10.1007%2Fs10664-019-09765-y
Other Identification Number:merlin-id:20340

Download

Green Open Access

Download PDF  'Every Build You Break: Developer-Oriented Assistance for Build Failure Resolution'.
Preview
Content: Accepted Version
Filetype: PDF
Size: 1MB
View at publisher