Как проверить, созданы ли двоичные файлы из определенных источников

Унаследованный проект, над которым я работаю, включает некоторую внешнюю библиотеку в виде набора двоичных jar-файлов. Мы решили, что для анализа и потенциальных исправлений мы хотим получить источники этой библиотеки, использовать их для создания новых двоичных файлов и после подробного и достаточно длительного регрессионного тестирования переключиться на эти двоичные файлы.

Предположим, что мы уже получили и создали источники (я на самом деле на стадии планирования). Перед реальным тестированием хотелось бы немного поработатьпроверка совместимости » исключить возможность того, что источники представляют что-то кардинально отличающееся от того, что встарый» двоичные файлы.

С использованиемjavap У меня была возможность извлечь версию JDK, использованную для компиляции (по крайней мере, я считаю, что это версия JDK). Он говорит, что двоичные файлы были построены с использованием основной версии 46 и минорной 0. СогласноЭта статья он сопоставляется с JDK 1.2.

Предположим, что тот же JDK будет использоваться для компиляции источников.

вопрос есть: существует ли надежный и, возможно, эффективный метод проверки, если оба этих бинарных файла созданы из одних и тех же источников? Я хотел бы знать, являются ли все сигнатуры методов и определения классов идентичными и совпадают ли большинство или, может быть, все реализации методов.

Библиотека довольно большая, поэтому я думаю, что детальный анализ декомпилированных двоичных файлов может быть невозможным.

Ответы на вопрос(4)

Ваш ответ на вопрос