Search papers, labs, and topics across Lattice.
This paper introduces ConFixAgent, an LLM-driven agent for end-to-end repair of concurrency bugs without requiring prior bug information. ConFixAgent uses a novel context extraction method based on Static Happens-Before Graphs (SHB) to identify bug-relevant code sections for the LLM. Experiments on multiple benchmarks show ConFixAgent significantly outperforms existing tools in fixing diverse concurrency bugs, with the SHB-based context extraction improving repair accuracy.
LLMs can autonomously fix concurrency bugs, even without prior bug information, by intelligently extracting relevant context using Static Happens-Before Graphs.
With the rise of multi-core processors and distributed systems, concurrent programming has become essential yet challenging, primarily due to the non-deterministic nature of thread execution. Manually addressing concurrency bugs is time-consuming and error-prone. Automated Program Repair techniques provide a promising solution. However, developing an end-to-end concurrency bug repair tool is particularly challenging. Most existing tools rely on the assumption that bug-related information is readily available or that concurrency bug contexts are ideally extracted, which is often impractical in real-world scenarios. This paper introduces ConFixAgent, an LLM-driven agent capable of fixing various types of concurrency bugs in an end-to-end manner, eliminating the need for any prior bug-related information. Specifically, we propose a novel context extraction approach designed for concurrency bug repair, utilizing Static Happens-Before Graphs to identify bug-relevant sections.We implemented ConFixAgent and evaluated it across multiple benchmark sets. Our extensive experiments demonstrate that ConFixAgent significantly outperforms state-of-the-art tools in addressing diverse types of concurrency bugs, with its context extraction method markedly enhancing the accuracy of LLM-generated repair solutions.