paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Enhancing the Efficiency of Automated Program Repair via Greybox Analysis

通过灰盒分析提升自动程序修复的效率
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 2/10 · 该论文研究自动程序修复中的补丁调度算法,属于动态灰盒分析,与用户关注的静态分析、浮点程序分析、贝叶斯程序分析以及LLM/Agent交叉方向均无直接关联。引用 1 inbox
YoungJae Kim, Yechan Park, Seungheon Han, Jooyong Yi
crossref: 2026-09-12

AI 速览

一句话:提出灰盒补丁调度算法 Gresino,利用程序分支命中计数指导补丁搜索,提升自动程序修复效率。

本文关注自动程序修复(APR)的效率问题。近期提出的补丁调度算法 Casino 借鉴模糊测试思想,依据前序评估结果自适应地选择下一个待评估的补丁候选,但其只利用测试结果,将打过补丁的程序视为黑盒。受灰盒模糊测试启发,作者提出新的补丁调度算法 Gresino:它监控程序执行过程中各分支的命中次数(hit counts),并以此内部状态信息引导对有效补丁的搜索,从而更高效地定位可修复缺陷的候选补丁。作者在 Defects4J 基准上结合 8 个 APR 工具进行了实验评估,结果验证了该方法的有效性。

问题
自动程序修复需要评估大量补丁候选,现有调度算法 Casino 只利用测试结果、把打过补丁的程序当作黑盒,导致搜索效率受限。
方法
受灰盒模糊测试启发,提出补丁调度算法 Gresino,通过监控程序执行中分支的命中次数,利用程序内部状态引导有效补丁的搜索。
评估
在 Defects4J 基准上结合 8 个自动程序修复工具进行实验,验证 Gresino 在修复效率上的有效性。
原文摘要(Abstract)

In this paper, we pay attention to the efficiency of automated program repair (APR). Recently, an efficient patch scheduling algorithm, Casino, has been proposed to improve APR efficiency. Inspired by fuzzing, Casino adaptively chooses the next patch candidate to evaluate based on the results of previous evaluations. However, we observe that Casino utilizes only the test results, treating the patched program as a black box. Inspired by greybox fuzzing, we propose a novel patch-scheduling algorithm, Gresino, which leverages the internal state of the program to further enhance APR efficiency. Specifically, Gresino monitors the hit counts of branches observed during the execution of the program and uses them to guide the search for a valid patch. Our experimental evaluation on the Defects4J benchmark and eight APR tools demonstrates the efficacy of our approach.

链接与引用

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

BibTeX
@inproceedings{paperbot8413,
  title = {Enhancing the Efficiency of Automated Program Repair via Greybox Analysis},
  author = {YoungJae Kim and Yechan Park and Seungheon Han and Jooyong Yi},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695602}
}