Precise Condition Synthesis for Program Repair
Not on the map. Why?
Abstract (arXiv)
Due to the difficulty of repairing defect, many research efforts have been devoted into automatic defect repair. Given a buggy program that fails some test cases, a typical automatic repair technique tries to modify the program to make all tests pass. However, since the test suites in real world projects are usually insufficient, aiming at passing the test suites often leads to incorrect patches. In this paper we aim to produce precise patches, that is, any patch we produce has a relatively high probability to be correct. More concretely, we focus on condition synthesis, which was shown to be able to repair more than half of the defects in existing approaches. Our key insight is threefold. First, it is important to know what variables in a local context should be used in an "if" condition, and we propose a sorting method based on the dependency relations between variables. Second, we observe that the API document can be used to guide the repair process, and propose document analysis technique to further filter the variables. Third, it is important to know what predicates should be performed on the set of variables, and we propose to mine a set of frequently used predicates in similar contexts from existing projects. We develop a novel program repair system, ACS, that could generate precise conditions at faulty locations. Furthermore, given the generated conditions are very precise, we can perform a repair operation that is previously deemed to be too overfitting: directly returning the test oracle to repair the defect. Using our approach, we successfully repaired 17 defects on four projects of Defects4J, which is the largest number of fully automatically repaired defects reported on the dataset so far. More importantly, the precision of our approach in the evaluation is 73.9%, which is significantly higher than previous approaches, which are usually less than 40%.
Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). First posted on arXiv 28 Aug 2016.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 0; 2023: 4; 2024: 1; 2025: 3; 2026: 1.
13 papers.
Sort:
By area:
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Modelscited by 25
- 2025Agentic Bug Reproduction for Effective Automated Program Repair at Googlecited by 20
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Eracited by 4
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Informationcited by 3
- 2026Compiling Large Multi-Modal Requirement Documents into Runnable Software Systems: From an Agentic Test-Driven Perspectivecited by 1
- 2026Compiling Large Multi-Modal Requirement Documents into Runnable Software Systems: From an Agentic Test-Driven Perspective14 Feb 2026
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Information31 Dec 2025
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Era9 Oct 2025
- 2025Agentic Bug Reproduction for Effective Automated Program Repair at Google3 Feb 2025
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Models18 Mar 2024
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning3 Jan 2023
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Cases28 Jul 2021
- 2021Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix17 Jul 2021
- 2021A Syntax-Guided Edit Decoder for Neural Program Repair15 Jun 2021
1 more
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Modelscited by 25
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Eracited by 4
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Informationcited by 3
- 2021Tea: Program Repair Using Neural Network Based on Program Information Attention Matrixcited by 0
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Information31 Dec 2025
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Era9 Oct 2025
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Models18 Mar 2024
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning3 Jan 2023
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Cases28 Jul 2021
- 2021Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix17 Jul 2021
- 2021A Syntax-Guided Edit Decoder for Neural Program Repair15 Jun 2021
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repair26 Feb 2021