Clone detection via structural abstraction

Clone detection via structural abstraction
复制标题

通过结构抽象进行克隆检测

DOI:
10.1007/s11219-009-9074-y
复制
发表时间:
2007
影响因子:
1.9
通讯作者:
Fei Ma
Fei Ma
中科院分区:
计算机科学4区
文献类型:
--
作者:
W. Evans;C. Fraser;Fei Ma

文献摘要

参考文献

被引文献

相似文献

本文描述了一种用于检测克隆代码的新算法的设计、实现及应用。它作用于许多编译器所生成的抽象语法树(作为一种中间表示形式)。它扩展了先前的工作,即便在任意子树发生变化时也能识别克隆。这些子树可能代表的是结构上的而非仅仅是词法上的代码差异。在几十万行的Java和C#代码中,我们发现20% - 50%的克隆涉及这些结构变化,而这是先前的方法所无法解释的。我们的方法还能识别声明中的克隆,因此它比传统的过程抽象更具通用性。
This paper describes the design, implementation, and application of a new algorithm to detect cloned code. It operates on the abstract syntax trees formed by many compilers as an intermediate representation. It extends prior work by identifying clones even when arbitrary subtrees have been changed. These subtrees may represent structural rather than simply lexical code differences. In several hundred thousand lines of Java and C# code, 20–50% of the clones that we find involve these structural changes, which are not accounted for by previous methods. Our method also identifies cloning in declarations, so it is somewhat more general than conventional procedural abstraction.
DOI: 10.1109/icsm.1999.792593
发表时间: 1999-08
期刊: Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)
影响因子: --
作者:
Stéphane Ducasse;M. Rieger;S. Demeyer
通讯作者: Stéphane Ducasse;M. Rieger;S. Demeyer
DOI: 10.1109/tse.2002.1019480
发表时间: 2002-07-01
影响因子: 7.4
作者:
Kamiya, T;Kusumoto, S;Inoue, K
通讯作者: Inoue, K