The DOI matches its Crossref record; 66 of the 68 references it cites were found in a registry or an index.
Is the cure worse than the disease? overfitting in automated program repair
Abstract
Automated program repair has shown promise for reducing the significant manual effort debugging requires. This paper addresses a deficit of earlier evaluations of automated repair techniques caused by repairing programs and evaluating generated patches' correctness using the same set of tests. Since tests are an imperfect metric of program correctness, evaluations of this type do not discriminate between correct patches and patches that overfit the available tests and break untested but desired functionality. This paper evaluates two well-studied repair tools, GenProg and TrpAutoRepair, on a publicly available benchmark of bugs, each with a human-written patch. By evaluating patches using tests independent from those used during repair, we find that the tools are unlikely to improve the proportion of independent tests passed, and that the quality of the patches is proportional to the coverage of the test suite used during repair. For programs that pass most tests, the tools are as likely to break tests as to fix them. However, novice developers also overfit, and automated repair performs no worse than these developers. In addition to overfitting, we measure the effects of test suite coverage, test suite provenance, and starting program quality, as well as the difference in quality between novice-developer-written and tool-generated patches when quality is assessed with a test suite independent from the one used for patch generation.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“However, due to practical limitations, test suites are rarely exhaustive and often suffer from weaknesses [50].”
From Are “Solved Issues” in SWE-bench Really Solved Correctly? An Empirical Study (2026) · cites this paper as [50]
In the citing paper
“Smith el al. [50] found that using a test suite that is inaccessible to evaluated tools can help detect plausible but incorrect patches.”
From Are “Solved Issues” in SWE-bench Really Solved Correctly? An Empirical Study (2026) · cites this paper as [50]
In the citing paper
“The problem of weak test suites has been well studied in the area of test-based automatic program repair (APR) [37, 40, 46, 50].”
From Are “Solved Issues” in SWE-bench Really Solved Correctly? An Empirical Study (2026) · cites this paper as [50]
Citations
Cites
Genetic Programming: On the Programming of Computers by Means of Natural Selection
Koza, J. R. (1992) · Medical Entomology and Zoology · Cited by 13,082
Modeling by shortest data description
Rissanen, J. (1978) · Automatica · doi:10.1016/0005-1098(78)90005-5 · Cited by 6,011
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
Cadar, C., Dunbar, D., & Engler, D. (2008) · doi:10.5555/1855741.1855756 · Cited by 2,655
Defects4J: a database of existing faults to enable controlled testing studies for Java programs
Just, R., Jalali, D., & Ernst, M. D. (2014) · Proceedings of the 2014 International Symposium on Software Testing and Analysis · doi:10.1145/2610384.2628055 · Cited by 1,447
Mechanization in problem solving: The effect of Einstellung.
Luchins, A. S. (1942) · Psychological Monographs · doi:10.1037/h0093502 · Cited by 1,143
GenProg: A Generic Method for Automatic Software Repair
Goues, C. L., Nguyen, T. H., Forrest, S., & Weimer, W. R. (2011) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2011.104 · Cited by 1,084
Simplifying and isolating failure-inducing input
Zeller, A., & Hildebrandt, R. (2002) · IEEE Transactions on Software Engineering · doi:10.1109/32.988498 · Cited by 1,084
Automating string processing in spreadsheets using input-output examples
Gulwani, S. (2011) · ACM-SIGACT Symposium on Principles of Programming Languages · doi:10.1145/1926385.1926423 · Cited by 1,039
Arcuri, A., & Briand, L. (2011) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1985793.1985795 · Cited by 989
An experimental evaluation of the assumption of independence in multiversion programming
KNIGHT, J. C., & Leveson, N. G. (1986) · IEEE Transactions on Software Engineering · doi:10.1109/tse.1986.6312924 · Cited by 768
Research works printed but not linked: 6
- L. Chen and A. Avižienis . N-version programming: A faulttolerance approach to reliability of software operation . In IEEE International Symposium on Fault-Tolerant Computing (FTCS) , pages 3– 9 , 1978 . L. Chen and A. Avižienis. N-version programming: A faulttolerance approach to reliability of software operation. In IEEE International Symposium on Fault-Tolerant Computing (FTCS), pages 3–9, 1978.
- 10.5555/2486788.2486893 · DOI
- 10.5555/2337223.2337225 · DOI
- 10.5555/2818754.2818811 · DOI
- 10.5555/541177 · DOI
- Research Triangle Institute . The economic impacts of inadequate infrastructure for software testing. NIST Planning Report 02-3, May 2002 . Research Triangle Institute. The economic impacts of inadequate infrastructure for software testing. NIST Planning Report 02-3, May 2002.
Cited by
Sorted by citations
Items 301–328 of 328
Applying Multi-Objective Genetic Algorithm for Efficient Selection on Program Generation
Watanabe, H., Matsumoto, S., Higo, Y., Kusumoto, S., Kurabayashi, T., Kirinuki, H., & Tanno, H. (2021) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec53868.2021.00060
What can program repair learn from code review?
Endres, M., Reiter, P., Forrest, S., & Weimer, W. R. (2022) · IEEE/ACM International Workshop on Automated Program Repair (APR) · doi:10.1145/3524459.3527352
Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context
Heo, J.-S., Jeong, H., & Lee, E. (2022) · Electronics · doi:10.3390/electronics12010179
Shibboleth: Hybrid Patch Correctness Assessment in Automated Program Repair
Ghanbari, A., & Marcus, A. (2022) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3551349.3559519 · Cited by 1
Potential Solutions to Challenges in C Program Repair: A Practical Perspective
Xuan, J., Qi, X., Chen, L., & Mao, X. (2023) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase56229.2023.00211
Toward Using Fuzzers and Lightweight Specifications to Reveal Semantic Bugs.
Nilizadeh, A., Leavens, G. T., & Cok, D. R. (2024) · The Journal of Object Technology · doi:10.5381/jot.2024.23.2.a3
Ratchet: Retrieval Augmented Transformer for Program Repair
Wang, J., Liu, S., Xie, X., Siow, J. K., Liu, K., & Li, Y. (2024) · Proceedings/Proceedings - International Symposium on Software Reliability Engineering · doi:10.1109/issre62328.2024.00048
Analyzing the Potency of Pretrained Transformer Models for Automated Program Repair
Leiwig, M., Swierzy, B., Bungartz, C., & Meier, M. (2024) · Euromicro Conference on Software Engineering and Advanced Applications (SEAA) · doi:10.1109/seaa64295.2024.00020
Structuring Semantic‐Aware Relations Between Bugs and Patches for Accurate Patch Evaluation
Zhao, L., Li, H., Chen, Y., Pan, X., & Guo, S. (2025) · Journal of Software Evolution and Process · doi:10.1002/smr.70001
Wang, R., Zhao, Z., Fang, L., Jiang, N., Lou, Y., Tan, L., & Zhang, T. (2025) · Proceedings of the ACM on Programming Languages · doi:10.1145/3720510
Making the Case for LLM-Generated Automated Program Repair Benchmarks
Ebrahim, Y. (2025) · ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD) · doi:10.1109/snpd65828.2025.11252591
FlowRepair: Search-based automated program repair of CPS controllers modeled in Simulink-Stateflow
Arrieta, A., Valle, P., & Ali, S. (2026) · Information and Software Technology · doi:10.1016/j.infsof.2025.108010 · Cited by 6
Interaction-Aware Patch Assessment for Multi-Fault Automated Program Repair
Al-Bataineh, O. I. (2025) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase63991.2025.00319
MAAP: A Self-Evolving Multi-Agent Automated Vulnerability Repair Framework for Python
Chen, J., Fu, Z., Yang, T., Sun, H., Li, R., & Zhang, Y. (2025) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec66846.2025.00024
Fixing Security Vulnerabilities with Agentic AI in OSS-Fuzz
Zhang, Y., Wang, J., Berzin, D., Мирчев, М., & Roychoudhury, A. (2026) · IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) · doi:10.1145/3786583.3786880 · Cited by 3
Improving Automated Patch Correctness Assessment by Designing LLM-Based Oracles
장인영, & Kim, J. (2026) · IEEE International Conference on Software Testing, Verification and Validation (ICST) · doi:10.1109/icst69053.2026.00041
Towards Quantum Program Bug Datasets and Benchmarking
Li, T., Yu, J., Fan, Z., Wang, J., Zhai, Y., Zhang, S., Peng, Y., Chen, Y., Chen, J., Kong, F., et al. (2026) · ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD) · doi:10.1145/3770855.3817560
BenjiTest: An Agentic Framework for Evaluating LLM-Based Unit Test Generation and CorrectionPreprint
Lops, A., Ragone, A., Penta, M. D., Trizio, M., & Narducci, F. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7442692
SymRadar: PoC-Centered Bounded Verification for Vulnerability Repair
Han, S., Kim, Y., Lee, Y., & Yi, J. (2026) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3744916.3787825
ProofCoop: Collaborative Automated Formal Verification
Kaufman, Z., First, E., Sanchez-Stern, A., Thompson, K., Lerner, S., & Brun, Y. (2026) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3744916.3787783
Self-citationAutomated Program Repair for UI-Centric Android Bugs: How Far Are We?
Mahmud, J., Pandey, S., Silva, N. D., Dipongkor, A. K., Wu, J., Chaparro, O., Fazzini, M., & Moran, K. (2026) · Proceedings of the ACM on software engineering. · doi:10.1145/3832272
de Leao, T. M. (2026) · Research Square · doi:10.21203/rs.3.rs-11224002/v1
Failure Explanations: The Missing Abstraction between Debugging and Repair
Smytzek, M. (2026) · IEEE/ACM International Workshop on Automated Program Repair (APR) · doi:10.1145/3843776.3844670
Reiss, S. P. (2026) · IEEE/ACM International Workshop on Automated Program Repair (APR) · doi:10.1145/3843776.3844674
Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset
Martinez, M., Durieux, T., Xuan, J., Sommerard, R., & Monperrus, M. (2015) · arXiv · doi:10.48550/arxiv.1505.07002 · Cited by 47
Metadata
- Authors
- Smith, E. K., Barr, E. T., Le Goues, C., & Brun, Y.
- Affiliations
- University of Massachusetts Amherst (US)
- University College London (GB)
- Carnegie Mellon University, USA
- University of Massachusetts, USA
- Venue
- Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
- Publisher
- ACM
- Published
- 2015-08-30
- Pages
- 532-543
- OpenAlex
- W2061575154
- Cited by
- 323
- References
- 68
- Citations by year
- 2026: 18 · 2025: 25 · 2024: 33 · 2023: 22 · 2022: 29 · 2021: 26 · 2020: 37 · 2019: 40 · 2018: 43 · 2017: 27 · 2016: 19 · 2015: 4
- FWCI
- 23.83
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (publishedVersion)
- Funders
- National Science Foundation (CCF-1446683, CCF-1446966, CCF-1453508)
- Microsoft Research (Software Engineering Innovation Foundation Award)
- Topics
- Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Artificial Intelligence › Evolutionary Algorithms and Applications
- Keywords
- automated program repair, overfitting, patch evaluation, test suite coverage, novice programmers, program correctness
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review