Разница между N-version programming и традиционным программированием заключается в подходе к разработке программного обеспечения. 1
Традиционное программирование предполагает создание одной версии программы, где входные данные обрабатываются одним и тем же способом. 1 Любые сбои приводят к ошибкам в результатах вычислений. 1 Чтобы избежать этой проблемы, разработчики должны устранить как можно больше ошибок при написании и тестировании кода. 1
N-version programming (также известное как многоверсионное программирование) подразумевает независимую разработку нескольких функционально эквивалентных программ, которые написаны из одной исходной спецификации. 14 Разные версии программ имеют всё необходимое для их одновременного выполнения и при этом взаимодействуют друг с другом на этапах сравнения результатов. 1
Цель N-version programming — повышение надёжности работы программного обеспечения за счёт локализации ошибок проектирования. 1 Такой подход гарантирует, что ошибки одной из версий программного модуля не приведут к нарушению процесса работы всего программного обеспечения. 2