SEMay 26, 2015

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

arXiv:1505.07002v257 citations
Originality Synthesis-oriented
AI Analysis

This sets a baseline for future research on automatic bug repair in Java, though it is incremental in addressing practical applicability issues.

The study evaluated the effectiveness of automatic repair on the Defects4J dataset of real Java bugs, finding that 47 bugs could be automatically repaired, with 9 correctly fixed, but it suffers from under-specified bugs and takes an average of 14.8 minutes per patch.

Defects4J is a large, peer-reviewed, structured dataset of real-world Java bugs. Each bug in Defects4J is provided 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 repair on Defects4J. The result of our experiment shows that 47 bugs of the Defects4J dataset can be automatically repaired by state-of- the-art repair. This sets a baseline for future research on automatic repair for Java. We have manually analyzed 84 different patches to assess their real correctness. In total, 9 real Java bugs can be correctly fixed with test-suite based repair. This analysis shows that test-suite based repair suffers from under-specified bugs, for which trivial and incorrect patches still pass the test suite. With respect to practical applicability, it takes in average 14.8 minutes to find a patch. The experiment was done on a scientific grid, totaling 17.6 days of computation time. All their systems and experimental results are publicly available on Github in order to facilitate future research on automatic repair.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes