Детерминированная компиляция, также известная как воспроизводимая сборка — процесс компиляции программного обеспечения, который  гарантированно воспроизводим. Он позволяет удостовериться, что  результирующий двоичный код в точности соответствует исходному коду. Исходный код скомпилированный с использованием детерминированной компиляции будет всегда выводить один и тот же двоичный файл вплоть до бита.

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

Методика Чтобы процесс компиляции, был детерминированным, входные данные для компилятора должны быть одинаковы, независимо от используемой среды сборки. Это, как правило, связана с очисткой переменных, которые могут меняться, такие как timestamp, локалей и путей.

Системы сборки, такие как Gitian, могут быть использованы для автоматизации воспроизводимости процесса сборки.

История Одним из первых проектов по продвижению воспроизводимых сборок был биткоин-проект с Gitian.

Позже, в 2013 году проект Tor начал использовать Gitian для воспроизводимости своих сборок Deterministic Builds Part Two: Technical Details. October 04, 2013

Список литературы

Внешние ссылки reproducible-builds.org Воспроизводимые сборки на Debian

Категория:Инструменты компиляции Категория:Незавершённые статьи о программировании Категория:Незавершённые статьи об информационной безопасности