Automatic Repair of Real Bugs in Java: A ...
Type de document :
Article dans une revue scientifique: Article original
Titre :
Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset
Auteur(s) :
Martinez, Matias [Auteur]
Laboratoire d'Automatique, de Mécanique et d'Informatique industrielles et Humaines - UMR 8201 [LAMIH]
Université de Lille, Sciences et Technologies
Durieux, Thomas [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Sommerard, Romain [Auteur]
Université de Lille, Sciences et Technologies
Xuan, Jifeng [Auteur]
Wuhan University [China]
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Laboratoire d'Automatique, de Mécanique et d'Informatique industrielles et Humaines - UMR 8201 [LAMIH]
Université de Lille, Sciences et Technologies
Durieux, Thomas [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Sommerard, Romain [Auteur]
Université de Lille, Sciences et Technologies
Xuan, Jifeng [Auteur]
Wuhan University [China]
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Titre de la revue :
Empirical Software Engineering
Pagination :
1936-1964
Éditeur :
Springer Verlag
Date de publication :
2017
ISSN :
1382-3256
Discipline(s) HAL :
Informatique [cs]/Génie logiciel [cs.SE]
Résumé en anglais : [en]
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 ...
Lire la suite >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.Lire moins >
Lire la suite >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.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.archives-ouvertes.fr/hal-01387556/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01387556/file/framework.pdf
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01387556/file/intersection.pdf
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01387556/file/patch_correctness.pdf
- Accès libre
- Accéder au document
- http://arxiv.org/pdf/1811.02429
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01387556/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01387556/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- automatic-repair-defects4j.pdf
- Accès libre
- Accéder au document
- framework.pdf
- Accès libre
- Accéder au document
- intersection.pdf
- Accès libre
- Accéder au document
- patch_correctness.pdf
- Accès libre
- Accéder au document
- 1811.02429
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- automatic-repair-defects4j.pdf
- Accès libre
- Accéder au document
- framework.pdf
- Accès libre
- Accéder au document
- intersection.pdf
- Accès libre
- Accéder au document
- patch_correctness.pdf
- Accès libre
- Accéder au document