5.3.5. Модель последовательности испытаний Бернулли

Рассматривается класс программ, имеющих единственный вход и выход. Фазу выполнения программы от начала до завершения называют запуском. Все возможные результаты запусков разбиваются на два класса: правильные и неправильные (ошибочные). Считают, что любой результат всегда можно отнести к одному из этих классов. Пространство элементарных событий в рассматриваемой модели содержит  точек, где n – число испытаний (в данном случае под испытанием подразумевается запуск программы). Каждый запуск программы имеет два исхода: правильный и неправильный. Обозначают вероятность неправильного исхода р, а вероятность правильного (1 – p). Вероятность того, что из n запусков k приведут к неправильному результату, выражается известной формулой биномиального распределения:

,

где С(n, k) – число сочетаний.

Вероятность р априори неизвестна, но по результатам запусков известны n и k. Величина В как функция р имеет максимум при .

В качестве меры надежности программы можно принять величину

.

Данная формула позволяет оценить надежность программы по результатам ее запусков. Два предельных случаях: k = n (нулевая надежность) и k = 0 (абсолютная надежность). В обоих случаях результаты не следует интерпретировать буквально: нет никаких гарантий того, что очередной запуск приведет к тому же результату, что и предыдущие. С точки зрения же пользователя эти случаи совершенно разные. Если   нулевая надежность свидетельствует о том, что программа явно непригодна для эксплуатации, то показатель абсолютной надежности не должен вводить в заблуждение: такой вывод нельзя делать по результатам даже очень большого числа запусков.

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