...
首页> 外文期刊>Software Quality Journal >A comparative study on the intensity and harmfulness of late propagation in near-miss code clones
【24h】

A comparative study on the intensity and harmfulness of late propagation in near-miss code clones

机译:未命中代码克隆后期传播的强度和危害的比较研究

获取原文
获取原文并翻译 | 示例
           

摘要

Exact or nearly similar code fragments in a software system's source code are referred to as code clones. It is often the case that updates (i.e., changes) to a code clone will need to be propagated to its related code clones to preserve their similarity and to maintain source code consistency. When there is a delay in propagating the changes (possibly because the developer is unaware of the related cloned code), the system might behave incorrectly. A delay in propagating a change is referred to as 'late propagation,' and a number of studies have investigated this phenomenon. However, these studies did not investigate the intensity of late propagation nor how late propagation differs by clone type. In this research, we investigate late propagation separately for each of the three clone types (Type 1, Type 2, and Type 3). According to our experimental results on thousands of revisions of eight diverse subject systems written in two programming languages, late propagation occurs more frequently in Type 3 clones compared with the other two clone types. More importantly, there is a higher probability that Type 3 clones will experience buggy late propagations compared with the other two clone types. Also, we discovered that block clones are more involved in late propagation than method clones. Refactoring and tracking of Similarity Preserving Change Pattern (SPCP) clones (i.e., the clone fragments that evolve following a SPCP) can help us minimize the occurrences of late propagation in clones.
机译:软件系统源代码中的精确或几乎相似的代码片段称为代码克隆。通常情况下,对代码克隆的更新(即更改)将需要传播到与其相关的代码克隆,以保持它们的相似性并保持源代码的一致性。当传播更改存在延迟时(可能是因为开发人员未意识到相关的克隆代码),系统可能会出现错误的行为。传播更改的延迟被称为“延迟传播”,许多研究已经研究了这种现象。但是,这些研究没有研究后期繁殖的强度,也没有研究后期繁殖因克隆类型的不同而不同。在这项研究中,我们分别研究了三种克隆类型(类型1,类型2和类型3)的后期繁殖。根据我们对以两种编程语言编写的八个不同主题系统的数千个修订版的实验结果,与其他两个克隆类型相比,类型3克隆中的后期传播更为频繁。更重要的是,与其他两种克隆类型相比,类型3克隆更有可能经历越野车后期传播。同样,我们发现,与方法克隆相比,嵌段克隆在后期繁殖中的参与更大。重构和跟踪相似性保留更改模式(SPCP)克隆(即,在SPCP之后进化的克隆片段)可以帮助我们最大程度地减少克隆中后期传播的发生。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号