Do the Fix Ingredients Already Exist? An Empirical Inquiry into the Redundancy Assumptions of Program Repair Approaches
arXiv:1403.6322 · doi:10.1145/2591062.2591114
Abstract
Much initial research on automatic program repair has focused on experimental results to probe their potential to find patches and reduce development effort. Relatively less effort has been put into understanding the hows and whys of such approaches. For example, a critical assumption of the GenProg technique is that certain bugs can be fixed by copying and re-arranging existing code. In other words, GenProg assumes that the fix ingredients already exist elsewhere in the code. In this paper, we formalize these assumptions around the concept of ''temporal redundancy''. A temporally redundant commit is only composed of what has already existed in previous commits. Our experiments show that a large proportion of commits that add existing code are temporally redundant. This validates the fundamental redundancy assumption of GenProg.
ICSE - 36th IEEE International Conference on Software Engineering (2014)
Cited by in corpus (9)
- Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs
- Automatic Software Repair: a Bibliography
- Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset
- A Critical Review of "Automatic Patch Generation Learned from Human-Written Patches": Essay on the Problem Statement and the Evaluation of Automatic Software Repair
- CODIT: Code Editing with Tree-Based Neural Models
- Ultra-Large Repair Search Space with Automatically Mined Templates: the Cardumen Mode of Astor
- SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics
- Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models
- Estimating the Potential of Program Repair Search Spaces with Commit Analysis