プロジェクトで、コピーして貼り付けたルールがあるように「においがする」cssファイルをいくつか見つけました。
ファイル内のコピー&ペーストを検出するための戦略は何ですか。
好奇心から、ファイルの類似性を示すためのヒントとコツを聞きたいです。
プロジェクトで、コピーして貼り付けたルールがあるように「においがする」cssファイルをいくつか見つけました。
ファイル内のコピー&ペーストを検出するための戦略は何ですか。
好奇心から、ファイルの類似性を示すためのヒントとコツを聞きたいです。
Simianを試してください。
ソースコード(Java、C#、C、C ++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy)でのコピー&ペースト検出に使用されますが、プレーンテキストファイルでも実行できます。
sourceforgeにはコピーペースト検出(CPD)プロジェクトがあります。http://pmd.sourceforge.net/cpd.html
しかし、大規模なプロジェクトでも、コードに関する私自身の知識は、信頼できる(絶対確実ではありませんが)検出メカニズムであることがわかります。
他の提案についても、この質問を参照してください。
Semantic Designs CloneDRは、C、C ++、Java、C ++、COBOL、ECMAScript、PHP、VB6、VB.netなどの多くの言語のコードのコピー-貼り付け-編集ブロックを検出するツールです。
言語精度の高いパーサーを使用して、正確なプログラム構造に対応する抽象構文ツリーを構築し、類似性を比較します。これは、空白、フォームマット、コメント、またはリテラルの異なる「スペル」によっても混乱しないことを意味します(たとえば、3.14159は.00314150E3と同じです)。
コードのブロックがどのように類似しているか、およびそれらがどのように異なるかを正確に示すレポートを生成します。リンクでサンプルレポートを見ることができます。