Self-Boosted Automated Program Repair
Samuel Benton, Mengshi Zhang, Xia Li, Lingming Zhang

TL;DR
SeAPR is a novel automated program repair technique that uses earlier patch execution information to dynamically improve repair efficiency, significantly reducing patch evaluations with minimal overhead.
Contribution
This work introduces SeAPR, the first method to leverage patch execution data during repair to enhance the process on-the-fly, extending the scope and efficiency of existing APR techniques.
Findings
SeAPR reduces patch evaluations across 12 APR systems.
SeAPR achieves this with negligible overhead.
Leveraging cross-tool patch information further boosts repair.
Abstract
Program repair is an integral part of every software system's life-cycle but can be extremely challenging. To date, researchers have proposed various automated program repair (APR) techniques to reduce efforts of manual debugging. However, given a real-world buggy program, a typical APR technique usually generates a large number of patches, each of which needs to be validated against the original test suite which incurs extremely high computation costs. Although existing APR techniques have already leveraged various static and/or dynamic information to find the desired patches faster, they are still rather costly. In a recent work, researchers proposed unified debugging to leverage the patch execution information during APR to help boost fault localization; in this way,the application scope of APR techniques can be extended to all possible bugs, e.g., the patch execution information…
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 · Advanced Malware Detection Techniques · Parallel Computing and Optimization Techniques
