RESTORE: Retrospective Fault Localization Enhancing Automated Program Repair
Tongtong Xu, Liushan Chen, Yu Pei, Tian Zhang, Minxue Pan, Carlo A., Furia

TL;DR
RESTORE introduces a novel fault localization method that reuses failed patch validation outcomes to improve accuracy and efficiency in automated program repair, significantly enhancing repair success rates and speed.
Contribution
The paper presents retrospective fault localization, a new technique that integrates fault localization with patch validation to improve efficiency and effectiveness in automated program repair.
Findings
Fixes 41 Defects4J bugs, outperforming other tools.
Achieves over 3x speedup compared to JAID.
Enhances repair success rate with better fault localization.
Abstract
Fault localization is a crucial step of automated program repair, because accurately identifying program locations that are most closely implicated with a fault greatly affects the effectiveness of the patching process. An ideal fault localization technique would provide precise information while requiring moderate computational resources---to best support an efficient search for correct fixes. In contrast, most automated program repair tools use standard fault localization techniques---which are not tightly integrated with the overall program repair process, and hence deliver only subpar efficiency. In this paper, we present retrospective fault localization: a novel fault localization technique geared to the requirements of automated program repair. A key idea of retrospective fault localization is to reuse the outcome of failed patch validation to support mutation-based dynamic…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Software Engineering Research
