11

我正在寻找一种语言不可知的代码重复工具。很容易找到语言特定的代码复制工具(对于Java,C,PHP,...),但我想在自定义语法的模板上运行一些代码重复分析。通用代码重复检测工具

我不在乎语法先进的分析,只是直线基于原始字符串比较精细。空白不敏感的匹配将是一个加号,但不是必需的。 (这并不难正常化/消除空白喽。)

是否有人知道一个工具,可以用来这样的事情(MIS)?

谢谢。

+0

你越来越穷克隆检测,如果检测一无所知语言的语法。大多数克隆不是完全相同的文本;它们是复制 - 粘贴 - 编辑*文本,所以要准确找到它们,您需要匹配*相似*但不相同的代码片段。有语法感知的克隆检测器,并且可以将其配置为知道准确的语言语法。的 –

+0

可能重复【温馨提示显示相似之处文件(http://stackoverflow.com/questions/1536643/tips-to-show-similarities-in-files) –

+0

我真的觉得你会做最好的专注于逻辑复制而不是原始的字符串重复。某些语言可能是锅炉式的,但这种重复不会重复错误。这是当你在系统的两个地方有相同的非平凡逻辑时,会导致不必要的维护负担。 –

回答

8

看看Simian,你可以使用它为Java,C#,C,C++,COBOL,Ruby,JSP,ASP,HTML,XML,Visual Basic,Groovy源代码甚至纯文本文件。

而且,类似的问题here

+0

Simian似乎是我正在寻找,谢谢。 – Stefaan