Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair System
Not on the map. Why?
Abstract (arXiv)
Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. However, test suites are in essence input-output specifications and are thus typically inadequate for completely specifying the expected behavior of the program under repair. Consequently, the patches generated by test suite based repair techniques can just overfit to the used test suite, and fail to generalize to other tests. We deeply analyze the overfitting problem in program repair and give a classification of this problem. This classification will help the community to better understand and design techniques to defeat the overfitting problem. We further propose and evaluate an approach called UnsatGuided, which aims to alleviate the overfitting problem for synthesis-based repair techniques with automatic test case generation. The approach uses additional automatically generated tests to strengthen the repair constraint used by synthesis-based repair techniques. We analyze the effectiveness of UnsatGuided: 1) analytically with respect to alleviating two different kinds of overfitting issues; 2) empirically based on an experiment over the 224 bugs of the Defects4J repository. The main result is that automatic test generation is effective in alleviating one kind of overfitting issue--regression introduction, but due to oracle problem, has minimal positive impact on alleviating the other kind of overfitting issue--incomplete fixing.
Key facts. Cited by 7 papers in the map (data through 14 Oct 2026). First posted on arXiv 24 Oct 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 2; 2024: 2; 2025: 1; 2026: 1.
7 papers.
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctnesscited by 7
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2025REFINE: Enhancing Program Repair Agents through Context-Aware Patch Refinementcited by 6
- 2026ExecCritic: Learn to Test, Test to Improve for Coding Agentscited by 3
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repaircited by 0
- 2026ExecCritic: Learn to Test, Test to Improve for Coding Agents8 Sep 2026
- 2025REFINE: Enhancing Program Repair Agents through Context-Aware Patch Refinement4 Oct 2025
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair24 Jun 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Models8 Mar 2023
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning3 Jan 2023
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctness8 Aug 2022