paperbot · PL 论文追踪

全部论文 待读 收藏

P2 iFixR: bug report driven program repair

iFixR:基于缺陷报告驱动的程序修复
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 论文关注缺陷报告驱动的自动程序修复,属于经典软件工程/程序修复方向,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与研究画像的核心交叉点几乎无重合。引用 87 inbox
Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé, Dongsun Kim, Martin Monperrus, Jacques Klein, Yves Le Traon
crossref: 2026-09-12

AI 速览

一句话:提出由缺陷报告驱动的修复流水线 iFixR,用 IR 定位与修复模式生成补丁并排序推荐。

传统自动程序修复通常依赖测试套件来完成故障定位与补丁验证,但许多用户报告的缺陷并无能揭示该缺陷的测试,且缺陷报告数量常超出人工分诊能力。本文提出 iFixR:将缺陷报告输入基于信息检索的故障定位器,再通过修复模式生成候选补丁,并用回归测试验证,最后向开发者给出按优先级排序的补丁列表。作者在增强并重组时间线的 Defects4J 数据集上评估,其中故障与缺陷报告关联。结果显示,IR 定位器为 21/44 个 Defects4J 故障生成了真实或合理补丁;在不使用未来测试用例的生成与验证设置下,iFixR 能将其中 8/13 个故障的真实或合理补丁放入 top-5 推荐。

问题
自动程序修复在实践中常假设存在能揭示缺陷的测试套件,但许多缺陷报告缺少此类测试,且大量报告难以被及时分诊。
方法
iFixR 以缺陷报告为输入,先用基于信息检索的故障定位器定位可疑代码,再通过修复模式生成候选补丁并经回归测试验证,最后输出排序后的补丁推荐列表。
评估
在增强(故障关联缺陷报告)并重组时间线(自然划分测试用例时间)的 Defects4J 数据集上评估,统计生成真实/合理补丁的数量及 top-5 推荐命中情况。
原文摘要(Abstract)

Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is then the systematization of patch generation for user-reported bugs. Although this ambition is aligned with the momentum of automated program repair, the literature has, so far, mostly focused on generate-and- validate setups where fault localization and patch generation are driven by a well-defined test suite. On the one hand, however, the common (yet strong) assumption on the existence of relevant test cases does not hold in practice for most development settings: many bugs are reported without the available test suite being able to reveal them. On the other hand, for many projects, the number of bug reports generally outstrips the resources available to triage them. Towards increasing the adoption of patch generation tools by practitioners, we investigate a new repair pipeline, iFixR, driven by bug reports: (1) bug reports are fed to an IR-based fault localizer; (2) patches are generated from fix patterns and validated via regression testing; (3) a prioritized list of generated patches is proposed to developers. We evaluate iFixR on the Defects4J dataset, which we enriched (i.e., faults are linked to bug reports) and carefully-reorganized (i.e., the timeline of test-cases is naturally split). iFixR generates genuine/plausible patches for 21/44 Defects4J faults with its IR-based fault localizer. iFixR accurately places a genuine/plausible patch among its top-5 recommendation for 8/13 of these faults (without using future test cases in generation-and-validation).

链接与引用

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

BibTeX
@inproceedings{paperbot5130,
  title = {iFixR: bug report driven program repair},
  author = {Anil Koyuncu and Kui Liu and Tegawendé F. Bissyandé and Dongsun Kim and Martin Monperrus and Jacques Klein and Yves Le Traon},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338935}
}