Litcius/Paper detail

BuildFast

Bihuan Chen, Lin-Lin Chen, Chen Zhang, Xin Peng

202032 citationsDOI

Abstract

Long build times in continuous integration (CI) can greatly increase the cost in human and computing resources, and thus become a common barrier faced by software organizations adopting CI. Build outcome prediction has been proposed as one of the remedies to reduce such cost. However, the state-of-the-art approaches have a poor prediction performance for failed builds, and are not designed for practical usage scenarios. To address the problems, we first conduct an empirical study on 2,590,917 builds to characterize build times in real-world projects, and a survey with 75 developers to understand their perceptions about build outcome prediction. Then, motivated by our study and survey results, we propose a new history-aware approach, named BuildFast, to predict CI build outcomes cost-efficiently and practically. We develop multiple failure-specific features from closely related historical builds via analyzing build logs and changed files, and propose an adaptive prediction model to switch between two models based on the build outcome of the previous build. We investigate a practical online usage scenario of BuildFast, where builds are predicted in chronological order, and measure the benefit from correct predictions and the cost from incorrect predictions. Our experiments on 20 projects have shown that BuildFast improved the state-of-the-art by 47.5% in F1-score for failed builds.

Topics & Concepts

Computer scienceOutcome (game theory)SoftwareOrder (exchange)Data scienceSoftware engineeringMathematical economicsMathematicsFinanceEconomicsProgramming languageSoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware System Performance and Reliability