paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Benchmarking Automated Program Repair: An Extensive Study on Both Real-World and Artificial Bugs

自动程序修复基准测试:面向真实缺陷与人工缺陷的广泛研究
ISSTA Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis2024匹配度 5/10 · 论文属于LLM/机器学习与程序语言的交叉,涉及基于LLM的自动程序修复、基准构建和多维评测,并分析了LLM方法的优势与可编译性短板,与用户对“LLM作为工具改进程序相关任务”和评测方法学的兴趣部分重合;但它并非用户核心关注的静态分析、形式化验证、浮点程序分析、贝叶斯程序分析或Agentic程序分析,因此匹配度中等。引用 9 inbox
Yicheng Ouyang, Jun Yang, Lingming Zhang
crossref: 2026-09-12

AI 速览

一句话:在统一环境下多维度评测12种APR技术,揭示基于LLM方法的优势、可编译性短板与传统技术的互补性。

由于缺陷在真实程序中不可避免,自动程序修复(APR)技术不断涌现,但现有评测缺乏统一标准,设置与基准各异,且通常仅采用合理性(plausibility)与真实性(genuineness)指标,可能掩盖技术中的潜在问题。本文在相同环境与设置下,对9种基于学习与3种传统的最先进APR技术开展广泛的多维度评测。评测采用广泛使用的Defects4J V2.0.0基准,以及基于变异构造的大规模基准MuBench(含1700个由不同变异算子生成的人工缺陷),并运用可编译性/合理性/真实性指标与SYE、TCE指标,深入分析1,814,652个生成补丁。研究发现:基于大语言模型(LLM)的APR在Defects4J V1.2.0上过拟合程度更低且修复缺陷最多;传统与学习型技术具有互补优势,二者结合前景可期;学习型技术的补丁可编译性仍待提升;此外还揭示了处理不可解析符号编译问题、减少重复/无效补丁等改进方向,并发现7个实现问题,其中5个已被原作者确认并修复。

问题
APR领域缺乏统一评测标准,既有工作使用不同设置与基准,且评价指标单一(多为合理性/真实性),威胁评测结果的可信度并可能掩盖技术缺陷。
方法
在统一环境与设置下,对9种学习型和3种传统的最先进APR技术进行多维度评测,使用Defects4J V2.0.0与新建的大规模变异基准MuBench(含1700个人工缺陷),并采用可编译性/合理性/真实性以及SYE、TCE等指标分析约181万个生成补丁。
评估
通过对比LLM与传统APR的修复数量、过拟合倾向及补丁质量,分析可编译性、冗余/无效补丁等问题,并识别出7个实现问题(其中5个已被作者确认并修复),据此提出改进APR技术的若干准则。
原文摘要(Abstract)

As bugs are inevitable and prevalent in real-world programs, many Automated Program Repair (APR) techniques have been proposed to generate patches for them. However, due to the lack of a standard for evaluating APR techniques, prior works tend to use different settings and benchmarks in evaluation, threatening the trustworthiness of the evaluation results. Additionally, they typically only adopt plausibility and genuineness as evaluation metrics, which may potentially mask some underlying issues in APR techniques. To overcome these issues, in this paper, we conduct an extensive and multi-dimensional evaluation of nine learning-based and three traditional state-of-the-art APR techniques under the same environment and settings. We employ the widely studied Defects4J V2.0.0 benchmark and a newly constructed large-scale mutation-based benchmark named MuBench, derived from Defects4J and including 1,700 artificial bugs generated by various mutators, to uncover potential limitations in these APR techniques. We also apply multi-dimensional metrics, including compilability/plausibility/genuineness metrics, as well as SYE (SYntactic Equivalence) and TCE (Trivial Compiler Equivalence) metrics, to thoroughly analyze the 1,814,652 generated patches. This paper presents noteworthy findings from the extensive evaluation: Firstly, Large Language Model (LLM) based APR demonstrates less susceptibility to overfitting on the Defects4J V1.2.0 dataset and fixes the most number of bugs. Secondly, the study suggests a promising future for combining traditional and learning-based APR techniques, as they exhibit complementary advantages in fixing different types of bugs. Additionally, this work highlights the necessity for further enhancing patch compilability of learning-based APR techniques, despite the presence of various existing strategies attempting to improve it. The study also reveals other guidelines for enhancing APR techniques, including the need for handling unresolvable symbol compilability issues and reducing duplicate/no-op patch generation. Finally, our study uncovers seven implementation issues in the studied techniques, with five of them confirmed and fixed by the corresponding authors.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8458,
  title = {Benchmarking Automated Program Repair: An Extensive Study on Both Real-World and Artificial Bugs},
  author = {Yicheng Ouyang and Jun Yang and Lingming Zhang},
  booktitle = {ISSTA},
  year = {2024},
  doi = {10.1145/3650212.3652140}
}