paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Empirical review of Java program repair tools: a large-scale experiment on 2,141 bugs and 23,551 repair attempts

对 Java 程序修复工具的实证综述:面向 2,141 个缺陷与 23,551 次修复尝试的大规模实验
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 3/10 · 论文属于测试套件驱动的Java自动程序修复实证研究,关注基准泛化与工具失效原因,与用户对问题驱动和benchmark分析的偏好略有共鸣;但它不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,也不直接改进静态分析/形式化验证,因此与核心研究方向匹配度较低。引用 129 inbox
Thomas Durieux, Fernanda Madeiral, Matias Martinez, Rui Abreu
crossref: 2026-09-12

AI 速览

一句话:通过 11 个 Java 测试套件驱动修复工具在 5 个基准、2,141 个缺陷上的大规模实验,揭示修复能力难以跨基准泛化。

过去十年,基于测试套件的自动程序修复研究增长迅速,但多数方法仅在单一基准上评估,结果也鲜有他人复现。本文开展大规模实证实验,使用 11 个 Java 测试套件驱动的修复工具,覆盖 5 个基准的 2,141 个缺陷,共执行 23,551 次修复尝试,以检验“修复工具的可修复性未必能跨基准泛化”这一假设。结果表明:11 个工具仅能为 21% 的缺陷生成补丁;且在 Defects4J 上表现明显更好,可修复 47% 的缺陷,而在其他基准上仅为 10%–30%。论文还分析了未能生成补丁的原因,可为修复工具设计者改进方法与工具提供依据。

问题
自动程序修复工具多在单一基准上评估且难以复现,其修复能力能否跨不同基准泛化尚不明确。
方法
使用 11 个 Java 测试套件驱动的修复工具,在 5 个基准的 2,141 个缺陷上执行 23,551 次修复尝试,并分析未生成补丁的原因。
评估
统计各工具跨基准生成补丁的比例,并对比 Defects4J 与其他基准上的表现,同时归纳补丁生成失败的原因。
原文摘要(Abstract)

In the past decade, research on test-suite-based automatic program repair has grown significantly. Each year, new approaches and implementations are featured in major software engineering venues. However, most of those approaches are evaluated on a single benchmark of bugs, which are also rarely reproduced by other researchers. In this paper, we present a large-scale experiment using 11 Java test-suite-based repair tools and 2,141 bugs from 5 benchmarks. Our goal is to have a better understanding of the current state of automatic program repair tools on a large diversity of benchmarks. Our investigation is guided by the hypothesis that the repairability of repair tools might not be generalized across different benchmarks. We found that the 11 tools 1) are able to generate patches for 21% of the bugs from the 5 benchmarks, and 2) have better performance on Defects4J compared to other benchmarks, by generating patches for 47% of the bugs from Defects4J compared to 10-30% of bugs from the other benchmarks. Our experiment comprises 23,551 repair attempts, which we used to find causes of non-patch generation. These causes are reported in this paper, which can help repair tool designers to improve their approaches and tools.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5060,
  title = {Empirical review of Java program repair tools: a large-scale experiment on 2,141 bugs and 23,551 repair attempts},
  author = {Thomas Durieux and Fernanda Madeiral and Matias Martinez and Rui Abreu},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338911}
}