【24h】

Late propagation in software clones

机译:软件克隆中的延迟传播

获取原文

摘要

Two similar code segments, or clones, form a clone pair within a software system. The changes to the clones over time create a clone evolution history. In this work we study late propagation, a specific pattern of clone evolution. In late propagation, one clone in the clone pair is modified, causing the clone pair to become inconsistent. The code segments are then re-synchronized in a later revision. Existing work has established late propagation as a clone evolution pattern, and suggested that the pattern is related to a high number of faults. In this study we examine the characteristics of late propagation in two long-lived software systems using the Simian and CCFinder clone detection tools. We define 8 types of late propagation and compare them to other forms of clone evolution. Our results not only verify that late propagation is more harmful to software systems, but also establish that some specific cases of late propagations are more harmful than others. Specifically, two cases are most risky: (1) when a clone experiences inconsistent changes and then a re-synchronizing change without any modification to the other clone in a clone pair; and (2) when two clones undergo an inconsistent modification followed by a re-synchronizing change that modifies both the clones in a clone pair.
机译:两个类似的代码段或克隆,在软件系统中形成克隆对。随着时间的推移对克隆的变化会产生克隆演化历史记录。在这项工作中,我们研究延迟繁殖,克隆演化的特定模式。在繁殖的繁殖中,修饰克隆对中的一种克隆,使克隆对变得不一致。然后在以后修订版本中重新同步代码段。现有工作已建立作为克隆演进模式的延迟传播,并建议该模式与大量故障相关。在这项研究中,我们使用Simian和CCFinder克隆检测工具检查两种长期软件系统中延迟传播的特征。我们定义了8种类型的延迟传播,并将它们与其他形式的克隆演化进行比较。我们的结果不仅验证了延迟传播对软件系统更有害,而且还确定一些特定的繁殖病例比其他人更有害。具体而言,两种情况是最危险的:(1)当克隆经历不一致的变化时,重新同步变化没有任何修改到克隆对中的其他克隆; (2)当两个克隆发生不一致的修改后,然后重新同步变化,将克隆对中的克隆都改变。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号