Automatic Repair of Real Bugs: An Experience ...
Document type :
Pré-publication ou Document de travail
Title :
Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset
Author(s) :
Durieux, Thomas [Auteur]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Martinez, Matias [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Monperrus, Martin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Sommerard, Romain [Auteur]
Université de Lille, Sciences et Technologies
Xuan, Jifeng [Auteur]
Wuhan University [China]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Martinez, Matias [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Monperrus, Martin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Sommerard, Romain [Auteur]
Université de Lille, Sciences et Technologies
Xuan, Jifeng [Auteur]
Wuhan University [China]
HAL domain(s) :
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
Automatic software repair aims to reduce human effort for fixing bugs. Various automatic repair approaches have emerged in recent years. In this paper, we report on an experiment on automatically repairing 224 bugs of a ...
Show more >Automatic software repair aims to reduce human effort for fixing bugs. Various automatic repair approaches have emerged in recent years. In this paper, we report on an experiment on automatically repairing 224 bugs of a real-world and publicly available bug dataset, Defects4J. We investigate the results of three repair methods, GenProg (repair via random search), Kali (repair via exhaustive search), and Nopol (repair via constraint based search). We conduct our investigation with five research questions: fixability, patch correctness, ill-defined bugs, performance, and fault localizability. Our implementations of GenProg, Kali, and Nopol fix together 41 out of 224 (18%) bugs with 59 different patches. This can be viewed as a baseline for future usage of Defects4J for automatic repair research. In addition, manual analysis of sampling 42 of 59 generated patches shows that only 8 patches are undoubtedly correct. This is a novel piece of evidence that there is large room for improvement in the area of test suite based repair.Show less >
Show more >Automatic software repair aims to reduce human effort for fixing bugs. Various automatic repair approaches have emerged in recent years. In this paper, we report on an experiment on automatically repairing 224 bugs of a real-world and publicly available bug dataset, Defects4J. We investigate the results of three repair methods, GenProg (repair via random search), Kali (repair via exhaustive search), and Nopol (repair via constraint based search). We conduct our investigation with five research questions: fixability, patch correctness, ill-defined bugs, performance, and fault localizability. Our implementations of GenProg, Kali, and Nopol fix together 41 out of 224 (18%) bugs with 59 different patches. This can be viewed as a baseline for future usage of Defects4J for automatic repair research. In addition, manual analysis of sampling 42 of 59 generated patches shows that only 8 patches are undoubtedly correct. This is a novel piece of evidence that there is large room for improvement in the area of test suite based repair.Show less >
Language :
Anglais
Collections :
Source :
Files
- http://arxiv.org/pdf/1505.07002
- Open access
- Access the document
- 1505.07002
- Open access
- Access the document