23

是否有工具可以在一组文件中自动查找复制和粘贴代码?

我正在考虑为此编写一个脚本,它只会搜索相等的字符串,但这样的脚本会发现大多数不相关的等式。(如private final static ...)。

4

4 回答 4

13

是的,试试Copy Paste Detector

于 2010-03-11T19:19:34.200 回答
3

我们的CloneDR是一种工具,用于查找由复制和粘贴活动构建的准确和几乎未命中的代码块。它可以处理数百万行代码的系统。

它使用精确的语言语法来挑选已复制的语言结构(标识符、表达式、语句、块、函数、类、包……),并确定跨克隆集(其中任何一个结构可以是参数!)

CloneDR 可在多种语言上运行:C、C++、C#、Java、PHP、COBOL、Python、Ada、Fortran、EGL 和 Visual Basic(VBScript、VB6、VB.net)。

该网站有许多来自各种语言的样本克隆检测报告。

该产品可在http://www.semanticdesigns.com上进行评估。其他开源替代品是SimianPMD CPD

于 2010-03-12T00:07:48.367 回答
2

http://patterninsight.com/products/cp-miner.php
相关论文 - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123.113

于 2010-03-11T20:05:05.977 回答
1

用于 Python 和 Java 的CloneDigger 。

于 2010-03-12T00:28:05.280 回答