An Analysis of the Search Spaces for Generate and Validate Patch Generation Systems
Not on the map. Why?
Abstract (arXiv)
We present the first systematic analysis of the characteristics of patch search spaces for automatic patch generation systems. We analyze the search spaces of two current state-of-the-art systems, SPR and Prophet, with 16 different search space configurations. Our results are derived from an analysis of 1104 different search spaces and 768 patch generation executions. Together these experiments consumed over 9000 hours of CPU time on Amazon EC2. The analysis shows that 1) correct patches are sparse in the search spaces (typically at most one correct patch per search space per defect), 2) incorrect patches that nevertheless pass all of the test cases in the validation test suite are typically orders of magnitude more abundant, and 3) leveraging information other than the test suite is therefore critical for enabling the system to successfully isolate correct patches. We also characterize a key tradeoff in the structure of the search spaces. Larger and richer search spaces that contain correct patches for more defects can actually cause systems to find fewer, not more, correct patches. We identify two reasons for this phenomenon: 1) increased validation times because of the presence of more candidate patches and 2) more incorrect patches that pass the test suite and block the discovery of correct patches. These fundamental properties, which are all characterized for the first time in this paper, help explain why past systems often fail to generate correct patches and help identify challenges, opportunities, and productive future directions for the field.
Key facts. Cited by 8 papers in the map (data through 7 Oct 2026). First posted on arXiv 18 Feb 2016.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 1; 2023: 2; 2024: 1; 2025: 1; 2026: 1.
8 papers.
- 2024Agentless: Demystifying LLM-based Software Engineering Agentscited by 400
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2025Can Agents Fix Agent Issues?cited by 8
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctnesscited by 7
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2023Neuron Patching: Semantic-based Neuron-level Language Model Repair for Code Generationcited by 4
- 2026RAVEN: Agentic RAG for Automated Vulnerability Repaircited by 1
- 2026RAVEN: Agentic RAG for Automated Vulnerability Repair21 Jun 2026
- 2025Can Agents Fix Agent Issues?27 May 2025
- 2024Agentless: Demystifying LLM-based Software Engineering Agents1 Jul 2024
- 2023Neuron Patching: Semantic-based Neuron-level Language Model Repair for Code Generation8 Dec 2023
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPT1 Apr 2023
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctness8 Aug 2022
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Cases28 Jul 2021
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repair26 Feb 2021