Evolution of Type-1 Clones

Evolution of Type-1 Clones
复制标题

1型克隆的进化

DOI:
10.1109/scam.2009.17
复制
发表时间:
2009
期刊:
2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation
影响因子:
--
通讯作者:
Nils Göde
Nils Göde
中科院分区:
--
文献类型:
--
作者:
Nils Göde

文献摘要

被引文献

相似文献

研究代码克隆的演化对于更好地理解克隆的性质、影响和原因是有用的。有不同的方法可以调查程序的多个版本,并检测克隆进化的模式。这些方法的缺点是它们需要大量的计算工作,限于检测预定义的模式,并且大多基于启发式。本文提出了一种基于连续程序版本之间的源代码更改来模拟克隆进化的方法。不是通过预定义的模式来关联克隆类,而是关注单个克隆片段如何进化。该模型已经被用来分析9个开源系统中类型1克隆进化的不同方面。实验结果表明,大多数系统的克隆比例降低,克隆片段平均存活一年以上。结果发现,根据系统的不同,对克隆类的一致或不一致更改更为频繁。总体而言,克隆进化的特殊性对每个系统都有很大的不同,因此很难得出一般性的结论。
It is useful to study the evolution of code clones to better understand the nature, effects, and reasons of cloning. There are different approaches that investigate multiple versions of a program and detect patterns in the evolution of clones. The shortcomings of these methods are that they require significant computational effort, are limited to detecting predefined patterns and are mostly based on heuristics. This paper presents an approach that models clone evolution based on the source code changes that were made between consecutive program versions. Instead of relating clone classes by predefined patterns, the focus is on how individual cloned fragments evolve. The model has been used to analyze different aspects of type-1 clone evolution in nine open-source systems. The empirical results show that the ratio of clones decreased in the majority of the systems and cloned fragments survived more than a year on average. It was found that -- depending on the system -- either consistent or inconsistent changes to clone classes were more frequent. Overall, the peculiarity of clone evolution is significantly different for each system, making general conclusions difficult.