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