Теория и практика защиты программ

       

Анализ моделей надежности программ


В моделях Шумана и Джелинского-Моранды в качестве независимой переменной фигурируют время и надежность, вычисляемая по формуле R(t)=e-ht.

Значение интенсивности отказов h предполагается постоянным в течение всего периода функционирования системы и изменяется только при обнаружении и устранении ошибок, после чего время t снова отсчитывается от нуля. Поскольку эта формула может быть получена как частный случай рассматриваемой ниже модели Нельсона при некоторых допущениях целесообразно определить условия, при которых верны модели Шумана и Джелинского-Моранды. Эти условия таковы:

время t

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

время t

должно быть больше средней длительности выполнения одного прогона программы Dt;

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

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

В моделях Вейса и Коркорэна [ТЛН] были предложены формулы для определения степени повышения надежности программы в процессе тестирования, причем в этих моделях была предпринята попытка учесть эффект существования в программе нескольких источников ошибок.

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



Содержание раздела