Как определить, что исходный код X может быть надежно скомпилирован в двоичный Y (для различных платформ)

Мы принимаем исходный код от некоторых поставщиков, которые долго поддерживали исходный код (к лучшему или к худшему). Одна из вещей, которую нам нужно проверить, — действительно ли версия исходного кода, которую они передают нам, действительно соответствует версии, скомпилированной и развернутой в производство в настоящее время. Вопрос в том, как сделать это ненавязчивым способом (т.е. я не хочу компилировать и запускать его в производство, чтобы посмотреть, не сломается ли что-нибудь).

Я знаю, что невозможно скомпилировать один и тот же исходный код в идентичные JAR и DLL за разные периоды времени, так как в JAR и DLL будут упакованы разные метаданные, что сделает простое сопоставление контрольной суммы невозможным. Однако есть ли другой способ убедиться, что исходный код действительно компилируется в то, что находится в производстве? Например, в Java, можем ли мы распаковать файл JAR и сравнить вместо него файлы * .class и определить оттуда точность?

Спасибо!
Wong

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …