mlsanityData to 7 Oct 2026

Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning

arXiv 2301.01113 ↗First posted 3 Jan 2023cs.SE cs.LGcited by 11

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

  1. 2017Attention Is All You Needcited by 59,932
  2. 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
  3. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  4. 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
  5. 2022Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learningcited by 76
  6. 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
  7. 2021Neural Program Repair with Execution-based Backpropagationcited by 50
  8. 2020CC2Vec: Distributed Representations of Code Changescited by 38
  9. 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
  10. 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
  11. 2016A Compare-Aggregate Model for Matching Text Sequencescited by 23
  12. 2018FixMiner: Mining Relevant Fix Patterns for Automated Program Repaircited by 22
17 more
  1. 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
  2. 2020Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repaircited by 22
  3. 2018A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmarkcited by 17
  4. 2017Identifying Patch Correctness in Test-Based Program Repaircited by 16
  5. 2016Precise Condition Synthesis for Program Repaircited by 13
  6. 2019Automated Patch Assessment for Program Repair at Scalecited by 13
  7. 2022AutoPruner: Transformer-Based Call Graph Pruningcited by 11
  8. 2022VulCurator: A Vulnerability-Fixing Commit Detectorcited by 11
  9. 2019Automated Classification of Overfitting Patches with Statically Extracted Code Featurescited by 10
  10. 2018On Reliability of Patch Correctness Assessmentcited by 8
  11. 2018Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair Systemcited by 7
  12. 2018Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Datasetcited by 7
  13. 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
  14. 2019A Counterexample-guided Approach to Finding Numerical Invariantscited by 3
  15. 2020DynamiTe: Dynamic Termination and Non-termination Proofscited by 3
  16. 2022Toward the Analysis of Graph Neural Networkscited by 2
  17. 2022Usability and Aesthetics: Better Together for Automated Repair of Web Pagescited by 2

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2023: 3; 2024: 5; 2025: 2; 2026: 1.

11 papers.

Similar, not cited

Close in wording, no citation either way

  1. 2026ComPass: Contrastive Learning for Automated Patch Correctness Assessment in Program Repair
  2. 2025Enhancing Automated Program Repair via Faulty Token Localization and Quality-Aware Patch Refinement ↗
  3. 2025REFINE: Enhancing Program Repair Agents through Context-Aware Patch Refinement
  4. 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models
  5. 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair
  6. 2024A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback
  7. 2026Refine After Generation: Toward Correct and Concise Patches in LLM-based Program Repair
  8. 2026Beyond the Leaderboard: Multi-Dimensional Evaluation of Dense and Mixture-of-Experts Models for Automated Program Repair