arrow
返回

EffFix: Efficient and Effective Repair of Pointer Manipulating Programs

delete2025-02-20
delete0
delete
OA
AI
Y
Yuntong Zhang
A
Andreea Costea
R
Ridwan Shariffdeen
D
Davin McCall
R
Roychoudh, A
DOI:10.1145/3705310delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
本文介绍EffFix,一种应用新颖静态分析驱动的自动化程序修复(APR)技术来修复内存错误的工具。APR工具通常依赖给定的测试套件来指导修复过程。除了需要提供测试基准外,这种依赖也是导致过拟合问题的主要原因之一。基于静态分析的APR技术虽然规避了这些问题,但也引入了新的挑战,如正确性、可扩展性和泛化性。本研究展示了我们如何通过利用静态分析(特别是错误分离逻辑(ISL))来指导修复,从而克服这些挑战,并在大规模范围内实现正确的内存错误修复。这是首次使用ISL的修复方法。我们的关键见解在于,静态分析用于检测错误的抽象域也包含推导正确补丁的关键信息。我们提出的方法通过检查基于ISL静态分析(特别是Pulse分析器)的反馈,评估补丁接近修复错误的程度,从而学习什么是理想的补丁,并将此信息转化为上下文无关文法的概率分布。这种修复方法是通用的,其学习策略允许在不依赖常用补丁模板的情况下寻找补丁。此外,为了实现高效的程序修复,我们并未专注于减少补丁搜索空间的经验法则,而是通过根据补丁对符号堆的影响创建等价补丁类,使修复具有可扩展性。随后,我们仅对每个补丁等价类进行一次候选补丁验证。这使得EffFix能够高效地发现高质量的修复方案,即使在存在大量候选补丁的情况下。实验评估针对OpenSSL、Linux Kernel、swoole等中大规模真实世界内存错误的修复,展示了EffFix在自动从大规模搜索空间生成修复方案方面的效率和有效性。具体而言,在所考虑的数据集中,EffFix对内存泄漏错误的修复比率为66%,对空指针解引用错误的修复比率为83%。
Keyword:
Automated Program Repair
Incorrectness Separation Logic
Probabilistic Context Free Grammars

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

N
Natl Inst Plant Biotechnol
学者数:
143
论文数: 53
被引数: 0
O
Oracle Labs
学者数:
2
论文数: 2
被引数: 0
N
Natl Univ Singapore
学者数:
3.1K
论文数: 1.9K
被引数: 924
学者 查看更多机构
引用论文

引用论文

Ebola virus sequencing protocol v1
err
IF0
err2019-09-25
err0
errOAAI
errJosh Quick
err分享
err收藏
Ureteral quadruplication: The fourth case report
err1994-12-01
err0
PREAI
errS. Sourtzis; N. Damry; F. Janssen; N. Perlmutter
err分享
err收藏
SequenceR: Sequence-to-Sequence Learning for End-to-End Program RepairSequenceR: 用于端到端程序修复的序列到序列学习
err2021-01-01
err217
errOAAI
errChen, Zimin; Kommrusch, Steve; Tufano, Michele; Pouchet, Louis-Noel; Poshyvanyk, Denys; Monperrus, Martin
err分享
err收藏
Automated Program Repair
err2019-11-21
err231
PREAI
errLe Goues, Claire; Pradel, Michael; Roychoudhury, Abhik
err分享
err收藏
Relaxation of persistent photoconductivity inAl0.3Ga0.7As
err1990-09-15
err0
PREAI
errJ. Y. Lin; A. Dissanayake; G. Brown; H. X. Jiang
err分享
err收藏
err分享
err收藏
GenProg: A Generic Method for Automatic Software Repair
err2012-01-01
err594
PREAI
errLe Goues, Claire; ThanhVu Nguyen; Forrest, Stephanie; Weimer, Westley
err分享
err收藏
学者 查看更多内容