セマンティック diff/merge ユーティリティの良い例をいくつか見つけようとしています。ソースコードファイルを比較する従来のパラダイムは、行と文字を比較することによって機能します..しかし、ファイルを比較するときにコードの構造を実際に考慮するユーティリティはありますか?
たとえば、既存の diff プログラムは、「125 行目の 2 文字目に違いが見つかりました。ファイル x には void が含まれ、ファイル y には bool が含まれています」と報告します。特殊なツールは、「メソッド doSomething() の戻り値の型が void から bool に変更されました」と報告できるはずです。
このタイプのセマンティック情報は、ユーザーがコードを比較するときに実際に探しているものであり、次世代のプログラミング ツールの目標であるべきだと私は主張します。利用可能なツールにこれの例はありますか?