中文

不一致软件克隆与缺陷关系的实证研究

软件工程 2016-11-28 v1 编程语言

摘要

背景:代码克隆——复制和重用源代码片段——是软件开发实践中的常见现象。已有若干关于克隆影响的实证研究,但关于克隆与缺陷之间关联的结果存在矛盾。目标:我们的目的是澄清代码克隆与缺陷之间的关系。本文特别关注不一致(或类型-3)克隆。方法:我们与 TWT GmbH 合作进行了一项案例研究,在三个 Java 系统中检测代码克隆,将其与问题跟踪和版本控制信息关联,并访谈了三位关键开发人员。结果:在类型-3 克隆中,17% 包含缺陷。开发人员同时修改了大多数类型-3 克隆,从而一致地修复了类型-3 克隆中一半的缺陷。包含缺陷的类型-2 克隆均演化为已修复的类型-3 克隆。克隆长度与缺陷倾向仅呈弱相关。结论:有迹象表明,在两个案例中开发人员已意识到克隆的存在。这可能是类型-3 克隆与缺陷之间关系较弱的一个原因。因此,通过潜在的新工具支持使开发人员保持对克隆的感知似乎很重要。未来研究需要调查类型-3 克隆中的缺陷率是否足以证明将其用作缺陷检测线索的合理性。

关键词

引用

@article{arxiv.1611.08005,
  title  = {On the Relationship of Inconsistent Software Clones and Faults: An Empirical Study},
  author = {Stefan Wagner and Asim Abdulkhaleq and Kamer Kaya and Alexander Paar},
  journal= {arXiv preprint arXiv:1611.08005},
  year   = {2016}
}

备注

11 pages, 0 figures