重複したソースコードを見つける
-
12-10-2019 - |
質問
いくつかのレガシーコードを分析しています。古いPLSQLコードの約80.000行です。拳を見ると、ソースにはかなりの複製があり、削除する必要があります。代わりに、DIFFのマニュアルを実行し、各ファイルを見ると、ソースコードの重複行を検出するために、いくつかのツール/コマンドラインがそこに混乱する必要があります。
私の目標は、ソースの書き換えの最小サイズと、このプログラムで実際の知識がどのくらいに捉えられているかについて教育を受けた推測をすることです。基本的な静的コードアナライザーを作成して、各ファイルのその他の機能や関数について、制御ステートメントの量を見つけました。ただし、重複したコードを統計から削除する必要があります。
解決
見たことがありますか Simian-類似性分析器? (チェックしたばかりで、それはもう無料ではありませんが、評価のために15日間利用できます。)
Simian(類似性アナライザー)は、Java、C#、C、C ++、Cobol、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovyソースコード、さらにはプレーンテキストファイルの重複を識別します。実際、Simianは、INIファイル、展開記述子などの人間の読み取り可能なファイルで使用できます。
私は実際にそれを使用しました、そしてそれはうまく機能します。
他のヒント
ソナー 重複検出とPL/SQLをサポートするという主張がありますが、私はそれを使用したことはありません。
plsqlパーサーをbeg/dower/steal/steal/write beg beg/doand/steal/write and comping abstract Syntaxツリーを比較する必要があります。あなたが持っているコードベースのサイズで、それは価値があるかもしれません。完了したら、パーサーには他の用途があります。
これはどう:
http://sourceforge.net/projects/sddforeclipse/
これはOpenSourceであり、商用ソフトウェアで使用されていると言われています。ちなみに、これは日食のプラグインです。