A Comprehensive Study of Code-removal Patches in Automated Program Repair
arXiv:2012.06264 · doi:10.1007/s10664-021-10100-7
Abstract
Automatic Program Repair (APR) techniques can promisingly help reducing the cost of debugging. Many relevant APR techniques follow the generate-and-validate approach, that is, the faulty program is iteratively modified with different change operators and then validated with a test suite until a plausible patch is generated. In particular, Kali is a generate-and-validate technique developed to investigate the possibility of generating plausible patches by only removing code. Former studies show that indeed Kali successfully addressed several faults. This paper addresses the case of code-removal patches in automated program repair investigating the reasons and the scenarios that make their creation possible, and the relationship with patches implemented by developers. Our study reveals that code-removal patches are often insufficient to fix bugs, and proposes a comprehensive taxonomy of code-removal patches that provides evidence of the problems that may affect test suites, opening new opportunities for researchers in the field of automatic program repair.
New version of the manuscript
References in corpus (9)
- TBar: Revisiting Template-based Automated Program Repair
- Elixir: Effective object-oriented program repair
- On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs
- Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studies
- A Comprehensive Study of Bloated Dependencies in the Maven Ecosystem
- Automated Patch Assessment for Program Repair at Scale
- Empirical Study of Restarted and Flaky Builds on Travis CI
- Repairnator patches programs automatically
- Test Case Generation for Program Repair: A Study of Feasibility and Effectiveness