Próbuję znaleźć dobre przykłady semantycznych narzędzi do porównywania / scalania. Tradycyjny paradygmat porównywania plików z kodem źródłowym polega na porównywaniu wierszy i znaków… ale czy istnieją narzędzia (dla dowolnego języka), które uwzględniają strukturę kodu podczas porównywania plików?
Na przykład, istniejące programy porównujące będą raportować „różnicę znalezioną w znaku 2 wiersza 125. Plik x zawiera void, gdzie plik y zawiera bool”. Specjalistyczne narzędzie powinno być w stanie zgłosić „Zwracany typ metody doSomething () zmieniony z void na bool”.
Twierdziłbym, że tego typu informacje semantyczne są w rzeczywistości tym, czego szuka użytkownik podczas porównywania kodu, i powinny być celem narzędzi programistycznych nowej generacji. Czy są jakieś przykłady tego w dostępnych narzędziach?