🤖 AI Summary
To address two critical challenges in continuous integration (CI)—prolonged build times and high failure rates—this study systematically reviews 97 build optimization works published between 2006 and 2024. We propose the first unified classification framework, organizing approaches along two orthogonal dimensions: problem focus (build-time reduction vs. failure suppression) and technical strategy (prediction, selective execution, caching, repair, and environment adaptation). We define five categories of build metrics and catalog eight publicly available build datasets. Integrating machine learning (e.g., Random Forests, LSTMs), log and script analysis, performance smell detection, caching mechanisms, and automated repair techniques, we construct a comprehensive, end-to-end technical taxonomy spanning build prediction, acceleration, diagnosis, and repair. Our synthesis provides practitioners with evidence-based guidance for tool selection and clarifies key open challenges, thereby advancing CI/CD efficiency, reliability, and maintainability.
📝 Abstract
Continuous Integration (CI) consists of an automated build process involving continuous compilation, testing, and packaging of the software system. While CI comes up with several advantages related to quality and time to delivery, CI also presents several challenges addressed by a large body of research. To better understand the literature so as to help practitioners find solutions for their problems and guide future research, we conduct a systematic review of 97 studies on build optimization published between 2006 and 2024, which we summarized according to their goals, methodologies, used datasets, and leveraged metrics. The identified build optimization studies focus on two main challenges: (1) long build durations, and (2) build failures. To meet the first challenge, existing studies have developed a range of techniques, including predicting build outcome and duration, selective build execution, and build acceleration using caching or repairing performance smells. The causes of build failures have been the subject of several studies, leading to the development of techniques for predicting build script maintenance and automating repair. Recent studies have also focused on predicting flaky build failures caused by environmental issues. The majority of these techniques use machine learning algorithms and leverage build metrics, which we classify into five categories. Additionally, we identify eight publicly available build datasets for build optimization research.