Сравнением по содержанию, а не по байтам. Две сборки одного текста в Delphi дают разные файлы: внутрь попадают время сборки и другие переменные сведения, а результат зависит и от версий установленных компонентов. Эксперт, который сравнивает байты, выходит за пределы обоснованного вывода.
Сопоставляют то, что сборка сохраняет: ресурсы форм, перечень классов, текстовые строки, состав компонентов. Но все эти признаки описывают оболочку и почти ничего не говорят о содержимом обработчиков: текст, из которого вырезали расчётную часть, по ним от полного не отличить. Поэтому решает сравнение поведения — по заранее согласованным сценариям, с исходными данными и ожидаемым результатом по каждому.
Исходов три, и все названы заранее. Совпали оболочка и поведение на всех сценариях — вывод о происхождении обоснован. Разошлась оболочка либо поведение хотя бы на одном сценарии — основание для вывода о несоответствии, но прежде эксперт исключает расхождения, вызванные его собственным стендом: другой версией компонентов, другими настройками сборки. Не удалось собрать текст или согласовать сценарии — вывод не делается, и это тоже результат, который суд оценивает наравне с остальными.