paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Large-Scale Empirical Review of Patch Correctness Checking Approaches

补丁正确性检查方法的大规模实证研究
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 4/10 · 论文属于程序修复中的补丁正确性检查(PCC)实证与数据集工作,与 PL+ML 有邻近性,且符合对 benchmark/问题驱动实证研究的兴趣;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未聚焦 ML/Agentic 程序的静态分析,因此与当前核心方向重合有限。引用 22 inbox
Jun Yang, Yuehan Wang, Yiling Lou, Ming Wen, Lingming Zhang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:构建迄今最大的人工标注补丁正确性检查数据集 PraPatch,重新评估九种最先进 PCC 技术并给出改进方向。

自动程序修复(APR)生成的补丁即便通过全部原始测试也未必正确,即“可信补丁问题”;补丁正确性检查(PCC)技术应运而生,但现有研究仅在有限数据集上评估,外部有效性存疑。本文构建了迄今最大的人工标注 PCC 数据集 PraPatch,含 PraPR(字节码级、可在大型预定义搜索空间内穷举可信补丁)生成的 1,988 个补丁,并重新评估九种最先进 PCC 技术。结果发现:静态技术“正确补丁更接近缺陷代码”的假设不再成立;基于学习的技术易过拟合数据集;动态技术整体仍有效,但在改动更复杂的补丁上性能明显下降;基于自然性的技术显著优于传统静态技术,是有前景的方向。

问题
现有补丁正确性检查(PCC)技术只在非常有限的数据集上评估,因为生成补丁的 APR 工具仅能探索补丁搜索空间的很小一部分,使已有 PCC 结论的外部有效性受到严重威胁。
方法
利用字节码级、可在大型预定义搜索空间内穷举可信补丁的 PraPR 工具生成并人工标注 1,988 个补丁,构建大规模 PCC 数据集 PraPatch,并据此系统重评九种最先进的 PCC 技术。
评估
在 PraPatch 数据集上对九种代表性 PCC 技术进行大规模实证对比,分析静态、动态、基于学习与基于自然性方法的整体有效性及其在复杂改动、过拟合等情形下的失效模式,并给出后续研究建议。
原文摘要(Abstract)

Automated Program Repair (APR) techniques have drawn wide attention from both academia and industry. Meanwhile, one main limitation with the current state-of-the-art APR tools is that patches passing all the original tests are not necessarily the correct ones wanted by developers, i.e., the plausible patch problem. To date, various Patch-Correctness Checking (PCC) techniques have been proposed to address this important issue. However, they are only evaluated on very limited datasets as the APR tools used for generating such patches can only explore a small subset of the search space of possible patches, posing serious threats to external validity to existing PCC studies. In this paper, we construct an extensive PCC dataset, PraPatch (the largest manually labeled PCC dataset to our knowledge), to revisit all nine state-of-the-art PCC techniques. More specifically, our PCC dataset PraPatch includes 1,988 patches generated from the recent PraPR APR tool, which leverages highly-optimized bytecode-level patch executions and can exhaustively explore all possible plausible patches within its large predefined search space (including well-known fixing patterns from various prior APR tools). Our extensive study of representative PCC techniques on PraPatch has revealed various findings, including: 1) the assumption made by existing static PCC techniques that correct patches are more similar to buggy code than incorrect plausible patches no longer holds, 2) state-of-the-art learning-based techniques tend to suffer from the dataset overfitting problem, 3) while dynamic techniques overall retain their effectiveness on our new dataset, their performance drops substantially on patches with more complicated changes and 4) the very recent naturalness-based techniques can substantially outperform traditional static techniques and could be a promising direction for PCC. Based on our findings, we also provide various guidelines/suggestions for advancing PCC in the near future.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{YangWL0023,
  title = {A Large-Scale Empirical Review of Patch Correctness Checking Approaches},
  author = {Jun Yang and Yuehan Wang and Yiling Lou and Ming Wen and Lingming Zhang},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3616331}
}