一句话:提出 PRISM,用语义特征与定制学习算法检测 APR 过拟合补丁,在保留正确补丁的同时减少误报与审查负担。
自动程序修复(APR)虽进展显著,但仍常生成能通过测试却未真正修复缺陷的过拟合补丁,既降低修复效果又增加开发者审查负担。现有的自动补丁正确性分类(APCC)方法虽然整体准确,却容易将稀缺的正确补丁误判为错误,从而显著拉低 APR 的修复率。为此,作者提出 PRISM:一方面设计能捕捉补丁所引入行为变化的语义特征,另一方面设计定制学习算法,在过滤错误补丁的同时尽量保留正确补丁。实验在 10 个 APR 工具产生的排序补丁数据以及 1,829 个带标签补丁上进行评估,结果表明 PRISM 能独特地降低审查负担并找到更多正确补丁;在相同正确补丁保留率下,它能移除更多错误补丁,而其他方法常因误分类正确补丁而降低修复率。
We present Prism, a novel technique for detecting overfitting patches in automatic program repair (APR). Despite significant advances in APR, overfitting patches–those passing test suites but not fixing bugs–persist, degrading performance and increasing developer review burden. To mitigate overfitting, various automatic patch correctness classification (APCC) techniques have been proposed. However, while accurate, existing APCC methods often mislabel scarce correct patches as incorrect, significantly lowering the APR fix rate. To address this, we propose (1) novel semantic features capturing patch-induced behavioral changes and (2) a tailored learning algorithm that preserves correct patches while filtering incorrect ones. Experiments on ranked patch data from 10 APR tools show that Prism uniquely reduces review burden and finds more correct patches. Other methods lower the fix rate by misclassifying correct patches. Evaluations on 1,829 labeled patches confirm Prism removes more incorrect patches at equal correct patch preservation rates.
@article{paperbot2922,
title = {Enhancing APR with PRISM: A Semantic-Based Approach to Overfitting Patch Detection},
author = {Dowon Song and Hakjoo Oh},
journal = {Proceedings of the ACM on Programming Languages},
volume = {9},
number = {OOPSLA2},
year = {2025},
doi = {10.1145/3763170}
}