一連のファイルの中からコピー アンド ペースト コードを自動的に検出できるツールはありますか?
等しい文字列を検索するだけのスクリプトを書くことを考えていましたが、そのようなスクリプトはほとんど無関係な等値を見つけてしまいます。(などprivate final static ...
)。
一連のファイルの中からコピー アンド ペースト コードを自動的に検出できるツールはありますか?
等しい文字列を検索するだけのスクリプトを書くことを考えていましたが、そのようなスクリプトはほとんど無関係な等値を見つけてしまいます。(などprivate final static ...
)。
はい、Copy Paste Detectorを試してみてください。
私たちのCloneDRは、コピー アンド ペースト アクティビティによって構築されたコードの正確なブロックとニアミス ブロックを見つけるためのツールです。何百万行ものコードのシステムを処理できます。
正確な言語文法を使用して、コピーされた言語構造 (識別子、式、ステートメント、ブロック、関数、クラス、パッケージなど) を選択し、クローンのセット (それらのいずれか) 間の相違点を特定します。構造体はパラメータにすることができます!)
CloneDR は、C、C++、C#、Java、PHP、COBOL、Python、Ada、Fortran、EGL、Visual Basic (VBScript、VB6、VB.net) など、さまざまな言語で動作します。
この Web サイトには、さまざまな言語のサンプル クローン検出レポートが多数あります。
この製品はhttp://www.semanticdesigns.comで評価できます。その他のオープンソースの代替手段は、SimianおよびPMD CPDです。
http://patterninsight.com/products/cp-miner.php
関連論文 - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123.113
Python および Java 用のCloneDigger 。