Intelligent Automation for Accelerating the Repair of Software Build Failures

Society has an insatiable hunger for software. It keeps our planes in the air, our cars on the road, and even guides surgical procedures. Yet as software enriches more and more aspects of our lives, its complexity (and that of its maintenance) presents an ever-growing challenge. To manage the development of complex software, build systems are widely adopted to perform routine checks after code submissions. The build system lies at the core of the software delivery process, responsible for transforming source code (pseudo-English machine instructions) into release-ready software that users can install or interact with. While build systems provide numerous benefits, the rapid pace of modern software development generates heavy workloads for them to process. Executing builds requires substantial computing resources and energy, and when a build fails, the consequences ripple throughout the development process. Failures not only block others from validating their work, but also necessitate repeated executions, incurring more resource consumption. In a case study of a software organization, 18% of builds failed, with an average of 56 minutes spent resolving each failure. Such inefficiencies contribute to wasted computing resources and energy and hinder productivity, emphasizing the need for more cost-effective solutions. This proposal aims to develop automated methods for repairing build failures by addressing four key areas: (1) compilation errors, (2) dependency-induced errors, (3) test execution errors, and (4) a comprehensive solution that integrates these aspects. The approach involves parsing and analyzing build action traces to identify root causes, cataloging and exploiting patterns of reusable build fixes to enable rapid resolution, and leveraging machine learning approaches, such as the fine-tuning and prompting of large language models, to assist developers in reimplementing failed test cases. These innovations will streamline the build repair process, reducing delays and improving overall development efficiency.

Authors

Institutions

Publication Details

Published
2025-04-27
DOI
https://doi.org/10.1109/icse-companion66252.2025.00062
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Intelligent Automation for Accelerating the Repair of Software Build Failures

Gengyi Sun
Software Testing and Debugging Techniques
article

Intelligent Automation for Accelerating the Repair of Software Build Failures

Gengyi Sun
article en

Abstract

Society has an insatiable hunger for software. It keeps our planes in the air, our cars on the road, and even guides surgical procedures. Yet as software enriches more and more aspects of our lives, its complexity (and that of its maintenance) presents an ever-growing challenge. To manage the development of complex software, build systems are widely adopted to perform routine checks after code submissions. The build system lies at the core of the software delivery process, responsible for transforming source code (pseudo-English machine instructions) into release-ready software that users can install or interact with. While build systems provide numerous benefits, the rapid pace of modern software development generates heavy workloads for them to process. Executing builds requires substantial computing resources and energy, and when a build fails, the consequences ripple throughout the development process. Failures not only block others from validating their work, but also necessitate repeated executions, incurring more resource consumption. In a case study of a software organization, 18% of builds failed, with an average of 56 minutes spent resolving each failure. Such inefficiencies contribute to wasted computing resources and energy and hinder productivity, emphasizing the need for more cost-effective solutions. This proposal aims to develop automated methods for repairing build failures by addressing four key areas: (1) compilation errors, (2) dependency-induced errors, (3) test execution errors, and (4) a comprehensive solution that integrates these aspects. The approach involves parsing and analyzing build action traces to identify root causes, cataloging and exploiting patterns of reusable build fixes to enable rapid resolution, and leveraging machine learning approaches, such as the fine-tuning and prompting of large language models, to assist developers in reimplementing failed test cases. These innovations will streamline the build repair process, reducing delays and improving overall development efficiency.

University of Waterloo (CA)
Industry, innovation and infrastructure
Openalex Percentile: Top 86%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.