Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning
Not on the map. Why?
Abstract (arXiv)
Automated program repair (APR) faces the challenge of test overfitting, where generated patches pass validation tests but fail to generalize. Existing methods for patch assessment involve generating new tests or manual inspection, which can be time-consuming or biased. In this paper, we propose a novel technique, INVALIDATOR, to automatically assess the correctness of APR-generated patches via semantic and syntactic reasoning. INVALIDATOR leverages program invariants to reason about program semantics while also capturing program syntax through language semantics learned from a large code corpus using a pre-trained language model. Given a buggy program and the developer-patched program, INVALIDATOR infers likely invariants on both programs. Then, INVALIDATOR determines that an APR-generated patch overfits if: (1) it violates correct specifications or (2) maintains erroneous behaviors from the original buggy program. In case our approach fails to determine an overfitting patch based on invariants, INVALIDATOR utilizes a trained model from labeled patches to assess patch correctness based on program syntax. The benefit of INVALIDATOR is threefold. First, INVALIDATOR leverages both semantic and syntactic reasoning to enhance its discriminative capability. Second, INVALIDATOR does not require new test cases to be generated, but instead only relies on the current test suite and uses invariant inference to generalize program behaviors. Third, INVALIDATOR is fully automated. Experimental results demonstrate that INVALIDATOR outperforms existing methods in terms of Accuracy and F-measure, correctly identifying 79% of overfitting patches and detecting 23% more overfitting patches than the best baseline.
Key facts. Cited by 11 papers in the map (data through 7 Oct 2026). Builds on 29 of its 79 references that are in the map. First posted on arXiv 3 Jan 2023.
Builds on
29 of 79 references.
References · 29
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2022Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learningcited by 76
- 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2020CC2Vec: Distributed Representations of Code Changescited by 38
- 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
- 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
- 2016A Compare-Aggregate Model for Matching Text Sequencescited by 23
- 2018FixMiner: Mining Relevant Fix Patterns for Automated Program Repaircited by 22
17 more
- 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
- 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
- 2018A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmarkcited by 17
- 2017Identifying Patch Correctness in Test-Based Program Repaircited by 16
- 2016Precise Condition Synthesis for Program Repaircited by 13
- 2019Automated Patch Assessment for Program Repair at Scalecited by 13
- 2022AutoPruner: Transformer-Based Call Graph Pruningcited by 11
- 2022VulCurator: A Vulnerability-Fixing Commit Detectorcited by 11
- 2019Automated Classification of Overfitting Patches with Statically Extracted Code Featurescited by 10
- 2018On Reliability of Patch Correctness Assessmentcited by 8
- 2018Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair Systemcited by 7
- 2018Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Datasetcited by 7
- 2014A Critical Review of "Automatic Patch Generation Learned from Human-Written Patches": Essay on the Problem Statement and the Evaluation of Automatic Software Repaircited by 4
- 2019A Counterexample-guided Approach to Finding Numerical Invariantscited by 3
- 2020DynamiTe: Dynamic Termination and Non-termination Proofscited by 3
- 2022Toward the Analysis of Graph Neural Networkscited by 2
- 2022Usability and Aesthetics: Better Together for Automated Repair of Web Pagescited by 2
Built on by
Citing papers per year: 2023: 3; 2024: 5; 2025: 2; 2026: 1.
11 papers.
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2024Large Language Models for Cyber Security: A Systematic Literature Reviewcited by 65
- 2023Exploring ChatGPT's Capabilities on Vulnerability Managementcited by 19
- 2024Are LLMs Correctly Integrated into Software Systems?cited by 13
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testingcited by 5
- 2023Multi-Granularity Detector for Vulnerability Fixescited by 4
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Eracited by 4
- 2024LEGION: Harnessing Pre-trained Language Models for GitHub Topic Recommendations with Distribution-Balance Losscited by 1
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessmentcited by 1
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Softwarecited by 0
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Software14 Apr 2026
- 2025Past, Present, and Future of Bug Tracking in the Generative AI Era9 Oct 2025
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessment30 Jul 2025
- 2024Are LLMs Correctly Integrated into Software Systems?6 Jul 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024Large Language Models for Cyber Security: A Systematic Literature Review8 May 2024
- 2024LEGION: Harnessing Pre-trained Language Models for GitHub Topic Recommendations with Distribution-Balance Loss9 Mar 2024
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing19 Feb 2024
- 2023Exploring ChatGPT's Capabilities on Vulnerability Management11 Nov 2023
- 2023Large Language Models for Software Engineering: A Systematic Literature Review21 Aug 2023
- 2023Multi-Granularity Detector for Vulnerability Fixes23 May 2023
Similar, not cited
Close in wording, no citation either way
- 2026ComPass: Contrastive Learning for Automated Patch Correctness Assessment in Program Repair
- 2025Enhancing Automated Program Repair via Faulty Token Localization and Quality-Aware Patch Refinement ↗
- 2025REFINE: Enhancing Program Repair Agents through Context-Aware Patch Refinement
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair
- 2024A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback
- 2026Refine After Generation: Toward Correct and Concise Patches in LLM-based Program Repair
- 2026Beyond the Leaderboard: Multi-Dimensional Evaluation of Dense and Mixture-of-Experts Models for Automated Program Repair