Search papers, labs, and topics across Lattice.
The paper introduces PhantomRun, an automated framework that uses large language models (LLMs) to repair compilation errors in embedded open-source software CI pipelines. PhantomRun addresses the challenges of diverse build infrastructures by providing an adaptation layer for GitHub Actions/GitLab CI and leveraging build logs, source code, historical fixes, and compiler error messages to synthesize fixes. Evaluations across four major open-source embedded system projects demonstrate that PhantomRun successfully repairs up to 45% of CI compilation failures.
LLMs can automatically fix nearly half of compilation errors in embedded software CI pipelines, freeing up valuable developer time.
Continuous Integration (CI) pipelines for embedded software sometimes fail during compilation, consuming significant developer time for debugging. We study four major open-source embedded system projects, spanning over 4000 build failures from the project's CI runs. We find that hardware dependencies account for the majority of compilation failures, followed by syntax errors and build-script issues. Most repairs need relatively small changes, making automated repair potentially suitable as long as the diverse setups and lack of test data can be handled. In this paper, we present PhantomRun, an automated framework that leverages large language models (LLMs) to generate and validate fixes for CI compilation failures. The framework addresses the challenge of diverse build infrastructures and tool chains across embedded system projects by providing an adaptation layer for GitHub Actions and GitLab CI and four different build systems. PhantomRun utilizes build logs, source code, historical fixes, and compiler error messages to synthesize fixes using LLMs. Our evaluations show that PhantomRun successfully repairs up to 45% of CI compilation failures across the targeted projects, demonstrating the viability of LLM-based repairs for embedded-system CI pipelines.