BuildSonic: Detecting and Repairing Performance-Related Configuration Smells for Continuous Integration Builds
Chen Zhang, Bihuan Chen, Junhao Hu, Xin Peng, Wenyun Zhao
Abstract
Despite the benefits, continuous integration (CI) can incur high costs. One of the well-recognized costs is long build time, which greatly affects the speed of software development and increases the cost in computational resources. While there exist configuration options in the CI infrastructure to accelerate builds, the CI infrastructure is often not optimally configured, leading to CI configuration smells. Attempts have been made to detect or repair CI configuration smells. However, none of them is specifically designed to improve build performance in CI. In this paper, we first create a catalog of 20 performance-related CI configuration smells (PCSs) in three tools (i.e., Travis CI, Maven and Gradle) of the CI infrastructure for Java projects. Then, we propose an automated approach, named BuildSonic, to detect and repair 15 types of PCSs by analyzing configuration files. We have conducted large-scale experiments to evaluate BuildSonic. We detected 20,318 PCSs in 99.0% of the 4,140 Java projects, with a precision of 0.998 and a recall of 0.991. We submitted 1,138 pull requests for sampled PCSs of each PCS type, 246 and 11 of which have been respectively merged and accepted by developers. We successfully triggered CI builds before and after merging 288 pull requests, and observed an average build performance improvement of 12.4% after repairing a PCS. CCS CONCEPTS • Software and its engineering → Software performance; Software configuration management and version control systems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 158c3709-28fc-4b76-b76f-855f3e291a11Cited by top-tier papers3
- CXXCrafter: An LLM-Based Agent for Automated C/C++ Open Source Software BuildingZhengmin Yu, Yuan Zhang, Ming Wen, Yinan Nie et al.FSE 2025 · 2 citations
- Your Build Scripts Stink: The State of Code Smells in Build ScriptsMahzabin Tamanna, Yash Chandrani, Matthew Burrows, Brandon Wroblewski et al.ASE 2025 · 1 citation
- EvidenT: An Evidence-Preserving Framework for Iterative System-Level Package RepairChenyu Zhao, Minghua Ma, Shenglin Zhang, Zeshun Huang et al.ISSTA 2026
Builds on8
- Learning-to-rank vs ranking-to-learn: strategies for regression testing in continuous integrationAntonia Bertolino, Antonio Guerriero, Breno Miranda, Roberto Pietrantuono et al.ICSE 2020 · 81 citations
- A longitudinal analysis of bloated Java dependenciesCésar Soto-Valero, Thomas Durieux, Benoit BaudryFSE 2021 · 47 citations
- Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLabCarmine Vassallo, Sebastian Proksch, Anna Jancso, Harald C. Gall et al.FSE 2020 · 43 citations
- Understanding build issue resolution in practice: symptoms and fix patternsYiling Lou, Zhenpeng Chen, Yanbin Cao, Dan Hao et al.FSE 2020 · 39 citations
- A cost-efficient approach to building in continuous integrationXianhao Jin, Francisco ServantICSE 2020 · 34 citations
Related papers
- Empirical Study of the Docker Smells Impact on the Image SizeThomas DurieuxICSE 2024 · 11 citations
- What helped, and what did not? An Evaluation of the Strategies to Improve Continuous IntegrationXianhao Jin, Francisco ServantICSE 2021 · 26 citations
- Developer-Applied Accelerations in Continuous Integration: A Detection Approach and Catalog of PatternsMingyang Yin, Yutaro Kashiwa, Keheliya Gallaba, Mahmoud Alfadel et al.ASE 2024 · 5 citations
- What Happened in This Pipeline? Diffing Build Logs with CiDiffNicolas Hubner, Jean-Rémy Falleri, Raluca Uricaru, Thomas Degueule et al.ISSTA 2025
- GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as CodeNuno Saavedra, João F. FerreiraASE 2022 · 27 citations
