Advancements in Automated Program Repair

The field of automated program repair is moving towards leveraging large language models (LLMs) to enhance the quality and reliability of software systems. Researchers are exploring the use of LLMs to repair bugs in large programs, discover recurring pattern bugs, and improve the efficiency of automated program repair techniques. One of the key challenges in this area is the lack of high-quality, open-source benchmarks tailored for specific programming languages, which is being addressed through the development of new benchmarks and datasets. The integration of LLMs into automated program repair frameworks is also being investigated, with promising results in terms of improving repair performance and mitigating scalability issues. Noteworthy papers in this area include: Defects4C, which introduces a comprehensive benchmark for C/C++ program repair and evaluates the effectiveness of state-of-the-art LLMs in repairing C/C++ faults. Auto-repair without test cases, which demonstrates the potential of LLMs in fixing compilation errors in large industrial embedded code without relying on test cases. One Bug, Hundreds Behind, which explores the use of LLMs for large-scale bug discovery and introduces a program analysis system that can identify recurring pattern bugs. PathFix, which proposes a new automated program repair method that leverages path-sensitive constraints extracted from correct execution paths to generate patches for repairing buggy code.

Sources

Defects4C: Benchmarking Large Language Model Repair Capability with C/C++ Bugs

Auto-repair without test cases: How LLMs fix compilation errors in large industrial embedded code

One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery

PathFix: Automated Program Repair with Expected Path

Built with on top of