CFAAR:辅助修复的控制流变更
软件工程
2018-08-29 v1
摘要
我们提出 CFAAR,一种通过有选择地改变可疑谓词的结果以产生预期行为的程序修复辅助技术。CFAAR 适用于可通过在特定条件下否定谓词来修复的缺陷。CFAAR 步骤如下:1)识别这样的谓词:在给定实例中否定它们会使失败测试表现出正确行为;2)对于每个候选谓词,它利用程序状态信息构建分类器,指示何时应当否定该谓词;3)对于每个分类器,它利用决策树合成呈现给开发者的补丁。我们使用来自 IntroClass 和 Siemens 基准测试的 149 个缺陷评估了我们的工具集。CFAAR 识别出 91 个潜在候选缺陷,并为其中 41 个生成了看似合理的补丁。其中十二个补丁被认为是正确的,其余的为开发者提供修复辅助。
引用
@article{arxiv.1808.09229,
title = {CFAAR: Control Flow Alteration to Assist Repair},
author = {Chadi Trad and Rawad Abou Assi and Wes Masri and Fadi Zaraket},
journal= {arXiv preprint arXiv:1808.09229},
year = {2018}
}