Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2017

Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset

Résumé

Defects4J is a large, peer-reviewed, structured dataset of real-world Java bugs. Each bug in Defects4J comes with a test suite and at least one failing test case that triggers the bug. In this paper, we report on an experiment to explore the effectiveness of automatic test-suite based repair on Defects4J. The result of our experiment shows that the considered state-of-the-art repair methods can generate patches for 47 out of 224 bugs. However, those patches are only test-suite adequate, which means that they pass the test suite and may potentially be incorrect beyond the test-suite satisfaction correctness criterion. We have manually analyzed 84 different patches to assess their real correctness. In total, 9 real Java bugs can be correctly repaired with test-suite based repair. This analysis shows that test-suite based repair suffers from under-specified bugs, for which trivial or incorrect patches still pass the test suite. With respect to practical applicability, it takes on average 14.8 minutes to find a patch. The experiment was done on a scientific grid, totaling 17.6 days of computation time. All the repair systems and experimental results are publicly available on Github in order to facilitate future research on automatic repair.
automatic-repair-defects4j.pdf (854.21 Ko) Télécharger le fichier
framework.pdf (82.78 Ko) Télécharger le fichier
intersection.pdf (23 Ko) Télécharger le fichier
patch_correctness.pdf (78.47 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Origine Fichiers produits par l'(les) auteur(s)
Origine Fichiers produits par l'(les) auteur(s)
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01574671 , version 1 (02-11-2018)

Identifiants

Citer

Matias Martinez, Thomas Durieux, Romain Sommerard, Jifeng Xuan, Martin Monperrus. Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset. ESEC/FSE 2017 - 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Sep 2017, Paderborn, Germany. pp.1936-1964, ⟨10.1007/s10664-016-9470-4⟩. ⟨hal-01574671⟩

Relations

573 Consultations
299 Téléchargements

Altmetric

Partager

Gmail Mastodon Facebook X LinkedIn More