中文

相似性在基于冗余的程序修复中的显著作用

软件工程 2019-05-17 v3

摘要

近来,出现了一些在程序修复中使用“代码相似性”概念的原创尝试,表明相似性分析在修复过程中具有重要作用。然而,尚无专门工作来刻画并量化相似性在基于冗余的程序修复(其补丁由取自他处的源代码组成)中的作用。这正是本文的主要贡献所在:我们对修复搜索空间探索过程中代码相似性的作用进行了深入系统的分析。我们基于四种捕捉不同相似性的代码相似性度量——字符、词法、语义与结构相似性——定义并搭建了一个大规模实验。总体而言,我们在1500万源代码组件上计算了5600万相似度得分。我们表明,借助相似性分析,为找到正确补丁至少可忽略90%的搜索空间。在4%至33%的考量案例中,代码相似性能够将正确修复成分排在首位。

关键词

引用

@article{arxiv.1811.05703,
  title  = {The Remarkable Role of Similarity in Redundancy-based Program Repair},
  author = {Zimin Chen and Martin Monperrus},
  journal= {arXiv preprint arXiv:1811.05703},
  year   = {2019}
}