复制粘贴静态分析工具?

时间:2011-12-02 15:11:11

标签: refactoring copy-paste

是否有任何静态分析工具可以处理整个代码库并检测已使用复制和粘贴的位置(即重复或极其相似的代码块),以便可以考虑进行重构?

3 个答案:

答案 0 :(得分:2)

对于java,有一个名为pmd的工具,它有一个复制/粘贴检测器。 http://pmd.sourceforge.net/cpd.html

答案 1 :(得分:1)

PMD包含一个复制粘贴检测器,它“可以与Java,JSP,C,C ++,Fortran和PHP代码一起使用”。

答案 2 :(得分:1)

请参阅我们的CloneDR工具,查找精确和接近错过的克隆。

CloneDR使用目标语言的结构(一个完整,精确的语言解析器)来查找克隆,因此能够在格式化,空格更改等情况下找到这样的克隆。它还将找到一致的标识符重命名。

它处理多种语言,包括Java,C#,VB.net,Python,PHP,JavaScript,C ++,PL / SQL,COBOL,Fortran ......该网站提供了大部分语言的样本报告。