Computer Science > Software Engineering
[Submitted on 26 May 2015 (this version), latest version 23 Dec 2015 (v2)]
Title:Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset
View PDFAbstract: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.
Submission history
From: Martin Monperrus [view email][v1] Tue, 26 May 2015 15:21:34 UTC (179 KB)
[v2] Wed, 23 Dec 2015 11:09:46 UTC (124 KB)
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.