Automatic Program Repair (APR) techniques can promisingly help reduce 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 single and particular case of code-removal patches in automated program repair. We investigate 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.

Ginelli, D., Martinez, M., Mariani, L., Monperrus, M. (2022). A comprehensive study of code-removal patches in automated program repair. EMPIRICAL SOFTWARE ENGINEERING, 27(4) [10.1007/s10664-021-10100-7].

A comprehensive study of code-removal patches in automated program repair

Ginelli, Davide
Primo
;
Mariani, Leonardo;
2022

Abstract

Automatic Program Repair (APR) techniques can promisingly help reduce 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 single and particular case of code-removal patches in automated program repair. We investigate 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.
Articolo in rivista - Articolo scientifico
Automatic program repair; Code-removal patches; Debugging; Software testing;
English
5-mag-2022
2022
27
4
97
open
Ginelli, D., Martinez, M., Mariani, L., Monperrus, M. (2022). A comprehensive study of code-removal patches in automated program repair. EMPIRICAL SOFTWARE ENGINEERING, 27(4) [10.1007/s10664-021-10100-7].
File in questo prodotto:
File Dimensione Formato  
10281-373971_VoR.pdf

accesso aperto

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Creative Commons
Dimensione 1.87 MB
Formato Adobe PDF
1.87 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/373971
Citazioni
  • Scopus 4
  • ???jsp.display-item.citation.isi??? 2
Social impact