paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SketchFix: a tool for automated program repair approach using lazy candidate generation

SketchFix:一种使用惰性候选生成的自动程序修复工具
FSE Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2018匹配度 2/10 · 该论文属于自动程序修复(APR)方向,使用生成-验证与惰性候选生成,但既未涉及静态分析在ML/Agent程序中的应用,也未结合LLM/Agent改进程序分析,更与浮点程序分析或贝叶斯程序分析无关。虽然属于PL/SE领域,但与用户核心研究画像的交叉点很弱。引用 37 inbox
Jinru Hua, Mengshi Zhang, Kaiyuan Wang, Sarfraz Khurshid
crossref: 2026-09-12

AI 速览

一句话:通过惰性候选生成紧密集成生成与验证阶段,显著减少重编译与重执行开销的自动程序修复工具。

手工定位并修复缺陷程序中的错误既繁琐又易出错。generate-and-validate(G&V)是常见的自动程序修复方法,它迭代地生成修复候选、编译并针对给定测试执行,但大量重编译与重执行使其代价高昂。SketchFix 将候选生成与验证阶段紧密集成,并利用程序运行时行为进行剪枝(惰性候选生成),从而大幅减少需检验的候选。本文介绍该方法的 Java 实现,作为开源库发布于 GitHub。基于 Defects4J 基准的实验表明,SketchFix 相比其他方法能显著减少重编译与重执行次数,在 AST 节点粒度的表达式修改修复上尤其有效。

问题
手工修复缺陷程序繁琐易错;现有 generate-and-validate 式自动修复需反复编译与执行大量候选补丁,开销大。
方法
SketchFix 将候选生成与验证紧密集成,利用运行时行为惰性生成并剪枝修复候选,减少无效的重编译与重执行;作者给出其 Java 开源实现。
评估
在 Defects4J 基准上与其他自动修复方法对比,测量重编译/重执行次数与修复效果,显示其显著降低开销,且擅长 AST 节点级表达式修改。
原文摘要(Abstract)

Manually locating and removing bugs in faulty program is often tedious and error-prone. A common automated program repair approach called generate-and-validate (G&V) iteratively creates candidate fixes, compiles them, and runs these candidates against the given tests. This approach can be costly due to a large number of re-compilations and re-executions of the program. To tackle this limitation, recent work introduced the SketchFix approach that tightly integrates the generation and validation phases, and utilizes runtime behaviors to substantially prune a large amount of repair candidates. This tool paper describes our Java implementation of SketchFix, which is an open-source library that we released on Github. Our experimental evaluation using Defects4J benchmark shows that SketchFix can significantly reduce the number of re-compilations and re-executions compared to other approaches and work particularly well in repairing expression manipulation at the AST node-level granularity.The demo video is at: https://youtu.be/AO-YCH8vGzQ.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4595,
  title = {SketchFix: a tool for automated program repair approach using lazy candidate generation},
  author = {Jinru Hua and Mengshi Zhang and Kaiyuan Wang and Sarfraz Khurshid},
  booktitle = {FSE},
  year = {2018},
  doi = {10.1145/3236024.3264600}
}