Java-декомпилятор JD-Gui правильность

Допустим, у меня есть класс Java, который я хочу декомпилировать с помощью JD-GUI. После исправления незначительных проблем компиляции (приведение и инициализация локальной переменной) я компилирую декомпилированный код как класс B.

Насколько гарантия того, что класс A и класс B функционируют одинаково?

1 ответ

Так что это сводится к... неразрешимости:D

Вопрос о том, дают ли два тьюринговых полных языка (программы чтения) одинаковый вывод при одинаковом вводе, неразрешим. (то есть нет эффективных алгоритмов, чтобы проверить это)

Вы можете ограничить входные слова / выходные слова и просто перебрать свой путь, но в целом эта проблема NP-полная для алгоритмов класса P.

Если вы хотите получить гарантию, попробуйте решить P = NP или составить все входные данные, которые он может получить, скомпилируйте их и посмотрите, что получится. Или просто прочитайте код и убедитесь сами.

Это в значительной степени это для гарантий

Другие вопросы по тегам