中文

从过往成功经验中学习的多位置程序修复策略

软件工程 2019-01-08 v2

摘要

自动化程序修复(APR)在减少软件维护的工作量与时间消耗方面具有巨大潜力,近年来成为软件工程中的热点话题,已有诸多方法被提出。多位置程序修复因其逻辑与结构的复杂性,一直是该领域的挑战。尽管某些方法并未宣称具备解决多位置缺陷的特性,但它们在实践中为这些缺陷生成了正确补丁。本文中,我们首先对 Defects4J 中的多位置缺陷进行观察,并基于其补丁中的修复动作将其分为两类(即相似多位置缺陷与相关多位置缺陷)。随后我们总结了当前工具在 Defects4J 中修复的多位置缺陷情况。我们分析了当前工具生成的 22 个补丁,提出了两种可行的多位置缺陷修复策略,并通过两个详细案例研究加以说明。最后,实验结果证明了我们所提方法的可行性,修复了两个此前从未被修复的缺陷。通过从过往成功经验中学习,本文指出了多位置程序修复的前进方向。

关键词

引用

@article{arxiv.1810.12556,
  title  = {Multi-Location Program Repair Strategies Learned from Past Successful Experience},
  author = {Shangwen Wang and Xiaoguang Mao and Nan Niu and Xin Yi and Anbang Guo},
  journal= {arXiv preprint arXiv:1810.12556},
  year   = {2019}
}

备注

6 pages