Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset

by Thomas Durieux, Matias Martinez, Martin Monperrus, Romain Sommerard and Jifeng Xuan
Abstract: 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.
 View PDF
Open-access (on archives-ouvertes.fr)
Citations: [citations]
Other publications of Martin Monperrus

Cite it:

Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset (, , , and ), Technical report, , .
Thomas Durieux, Matias Martinez, Martin Monperrus, Romain Sommerard and Jifeng Xuan, "Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset", Technical report, , 2015.

Bibtex Entry:

@techreport{durieux2015,
 title = {{Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset}},
 author = {Durieux, Thomas and Martinez, Matias and Monperrus, Martin and Sommerard, Romain and Xuan, Jifeng},
 url = {https://arxiv.org/pdf/1505.07002.pdf},
 year = {2015},
}
Powered by bibtexbrowser
Tagged as: