8

プロジェクトで、コピーして貼り付けたルールがあるように「においがする」cssファイルをいくつか見つけました。

ファイル内のコピー&ペーストを検出するための戦略は何ですか。

好奇心から、ファイルの類似性を示すためのヒントとコツを聞きたいです。

4

3 に答える 3

5

Simianを試してください。

ソースコード(Java、C#、C、C ++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy)でのコピー&ペースト検出に使用されますが、プレーンテキストファイルでも実行できます。

于 2009-10-08T09:32:49.580 に答える
4

sourceforgeにはコピーペースト検出(CPD)プロジェクトがあります。http://pmd.sourceforge.net/cpd.html

しかし、大規模なプロジェクトでも、コードに関する私自身の知識は、信頼できる(絶対確実ではありませんが)検出メカニズムであることがわかります。

他の提案についても、この質問を参照してください。

于 2009-10-08T09:25:54.767 に答える
2

Semantic Designs CloneDRは、C、C ++、Java、C ++、COBOL、ECMAScript、PHP、VB6、VB.netなどの多くの言語のコードのコピー-貼り付け-編集ブロックを検出するツールです。

言語精度の高いパーサーを使用して、正確なプログラム構造に対応する抽象構文ツリーを構築し、類似性を比較します。これは、空白、フォームマット、コメント、またはリテラルの異なる「スペル」によっても混乱しないことを意味します(たとえば、3.14159は.00314150E3と同じです)。

コードのブロックがどのように類似しているか、およびそれらがどのように異なるかを正確に示すレポートを生成します。リンクでサンプルレポートを見ることができます。

于 2010-02-01T18:44:21.823 に答える