The Impact of Program Reduction on Automated Program Repair
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 program reduction can improve the performance of APR without degrading repair quality, but this improvement is not universal.
Authors
- David Binkley (ORCID: https://orcid.org/0000-0003-0059-4024)
- Leon Moonen (ORCID: https://orcid.org/0000-0002-1761-6771)
- Linas Vidziunas
Institutions
- Loyola University Maryland (US)
- BI Norwegian Business School (NO)
- Simula Research Laboratory (NO)
Publication Details
- Published
- 2024-10-06
- DOI
- https://doi.org/10.1109/icsme58944.2024.00039
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.49
Funders
- Norges Forskningsråd