Automated Classification of Overfitting Patches with Statically Extracted Code Features
Not on the map. Why?
Abstract (arXiv)
Automatic program repair (APR) aims to reduce the cost of manually fixing software defects. However, APR suffers from generating a multitude of overfitting patches, those patches that fail to correctly repair the defect beyond making the tests pass. This paper presents a novel overfitting patch detection system called ODS to assess the correctness of APR patches. ODS first statically compares a patched program and a buggy program in order to extract code features at the abstract syntax tree (AST) level. Then, ODS uses supervised learning with the captured code features and patch correctness labels to automatically learn a probabilistic model. The learned ODS model can then finally be applied to classify new and unseen program repair patches. We conduct a large-scale experiment to evaluate the effectiveness of ODS on patch correctness classification based on 10,302 patches from Defects4J, Bugs.jar and Bears benchmarks. The empirical evaluation shows that ODS is able to correctly classify 71.9% of program repair patches from 26 projects, which improves the state-of-the-art. ODS is applicable in practice and can be employed as a post-processing procedure to classify the patches generated by different APR systems.
Key facts. Cited by 10 papers in the map (data through 14 Oct 2026). First posted on arXiv 26 Oct 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 2; 2023: 3; 2024: 3; 2025: 1.
10 papers.
- 2024CigaR: Cost-efficient Program Repair with LLMscited by 15
- 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
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignmentscited by 4
- 2023Multi-Granularity Detector for Vulnerability Fixescited by 4
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Backcited by 3
- 2024Survey of Natural Language Processing for Education: Taxonomy, Systematic Review, and Future Trendscited by 3
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessmentcited by 1
- 2025RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessment30 Jul 2025
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024CigaR: Cost-efficient Program Repair with LLMs9 Feb 2024
- 2024Survey of Natural Language Processing for Education: Taxonomy, Systematic Review, and Future Trends15 Jan 2024
- 2023Multi-Granularity Detector for Vulnerability Fixes23 May 2023
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Back8 Feb 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
- 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments28 Jun 2022
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Cases28 Jul 2021