The Impact of Program Reduction on Automated Program Repair
Linas Vidziunas, David Binkley, Leon Moonen

TL;DR
This paper presents a program reduction technique using slicing to enhance the scalability and efficiency of Automated Program Repair tools, significantly reducing repair time without compromising quality in most cases.
Contribution
It introduces a novel application of program slicing to improve the performance of APR tools across all repair phases, demonstrating substantial time savings.
Findings
Median repair time reduced from 80 to 18 minutes
Improved repair ability of TBar APR tool on Defects4J dataset
Program reduction does not always improve repair success
Abstract
Correcting bugs using modern Automated Program Repair (APR) can be both time-consuming and resource-expensive. We describe a program repair approach that aims to improve the scalability of modern APR tools. The approach leverages program reduction in the form of program slicing to eliminate code irrelevant to fixing the bug, which improves the APR tool's overall performance. We investigate slicing's impact on all three phases of the repair process: fault localization, patch generation, and patch validation. Our empirical exploration finds that the proposed approach, on average, enhances the repair ability of the TBar APR tool, but we also discovered a few cases where it was less successful. Specifically, on examples from the widely used Defects4J dataset, we obtain a substantial reduction in median repair time, which falls from 80 minutes to just under 18 minutes. We conclude that…
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
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed systems and fault tolerance
