Better Automatic Program Repair by Using Bug Reports and Tests Together
Not on the map. Why?
Abstract (arXiv)
Automated program repair is already deployed in industry, but concerns remain about repair quality. Recent research has shown that one of the main reasons repair tools produce incorrect (but seemingly correct) patches is imperfect fault localization (FL). This paper demonstrates that combining information from natural-language bug reports and test executions when localizing faults can have a significant positive impact on repair quality. For example, existing repair tools with such FL are able to correctly repair 7 defects in the Defects4J benchmark that no prior tools have repaired correctly. We develop, Blues, the first information-retrieval-based, statement-level FL technique that requires no training data. We further develop RAFL, the first unsupervised method for combining multiple FL techniques, which outperforms a supervised method. Using RAFL, we create SBIR by combining Blues with a spectrum-based (SBFL) technique. Evaluated on 815 real-world defects, SBIR consistently ranks buggy statements higher than its underlying techniques. We then modify three state-of-the-art repair tools, Arja, SequenceR, and SimFix, to use SBIR, SBFL, and Blues as their internal FL. We evaluate the quality of the produced patches on 689 real-world defects. Arja and SequenceR significantly benefit from SBIR: Arja using SBIR correctly repairs 28 defects, but only 21 using SBFL, and only 15 using Blues; SequenceR using SBIR correctly repairs 12 defects, but only 10 using SBFL, and only 4 using Blues. SimFix, (which has internal mechanisms to overcome poor FL), correctly repairs 30 defects using SBIR and SBFL, but only 13 using Blues. Our work is the first investigation of simultaneously using multiple software artifacts for automated program repair, and our promising findings suggest future research in this directions is likely to be fruitful.
Key facts. Cited by 10 papers in the map (data through 14 Oct 2026). First posted on arXiv 16 Nov 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 3; 2024: 3; 2025: 2; 2026: 2.
10 papers.
- 2023SWE-bench: Can Language Models Resolve Real-World GitHub Issues?cited by 3,373
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
- 2024Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verificationcited by 27
- 2023Towards Generating Functionally Correct Code Edits from Natural Language Issue Descriptionscited by 14
- 2025Towards an Understanding of Context Utilization in Code Intelligencecited by 10
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Modelscited by 7
- 2024QEDCartographer: Automating Formal Verification Using Reward-Free Reinforcement Learningcited by 3
- 2026Fail-Aware and Explainable Test Oracle Predictioncited by 0
- 2026Dependency-Guided Code Generation: Structured Matrix Decomposition and Consistency-Guided Refinementcited by 0
- 2026Dependency-Guided Code Generation: Structured Matrix Decomposition and Consistency-Guided Refinement18 Jul 2026
- 2026Fail-Aware and Explainable Test Oracle Prediction13 Jul 2026
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models5 May 2025
- 2025Towards an Understanding of Context Utilization in Code Intelligence11 Apr 2025
- 2024Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verification18 Dec 2024
- 2024QEDCartographer: Automating Formal Verification Using Reward-Free Reinforcement Learning17 Aug 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2023SWE-bench: Can Language Models Resolve Real-World GitHub Issues?10 Oct 2023
- 2023Towards Generating Functionally Correct Code Edits from Natural Language Issue Descriptions7 Apr 2023
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Models8 Mar 2023