Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 7 papers in the map (data through 7 Oct 2026). First posted on arXiv 4 Nov 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 0; 2023: 3; 2024: 0; 2025: 1; 2026: 1.
7 papers.
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repaircited by 55
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
- 2025Dissecting the SWE-Bench Leaderboards: Profiling Submitters and Architectures of LLM- and Agent-Based Repair Systemscited by 8
- 2026Rethinking Automated Program Repair: The Impact of Bug Complexity, Fault Localization, and LLM Cost-efficiencycited by 1
- 2021Exploring Plausible Patches Using Source Code Embeddings in JavaScriptcited by 0
- 2021Mapping the Structure and Evolution of Software Testing Research Over the Past Three Decadescited by 0
- 2026Rethinking Automated Program Repair: The Impact of Bug Complexity, Fault Localization, and LLM Cost-efficiency14 Aug 2026
- 2025Dissecting the SWE-Bench Leaderboards: Profiling Submitters and Architectures of LLM- and Agent-Based Repair Systems20 Jun 2025
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair1 Sep 2023
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPT1 Apr 2023
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning3 Jan 2023
- 2021Mapping the Structure and Evolution of Software Testing Research Over the Past Three Decades9 Sep 2021
- 2021Exploring Plausible Patches Using Source Code Embeddings in JavaScript31 Mar 2021