Непрерывные эмпирические модели надежности ПО (НЭМП)

Для построения НЭМП используются следующие определения [6.5]:

Отказ – недопустимое отклонение характеристик процесса функционирования программы от требуемых.

Дефект – изъян программы, приводящий к отказу.

Ошибка – действие человека, вызывающее появлению дефекта в программе.

Одной из наиболее ранних и популярных НЭМП является модель Джелински – Моранды [6.5, 6.6]. Эти авторы предложили интенсивность отказов ПО описывать кусочно-постоянной функцией, пропорциональной числу неустранимых дефектов. После каждого обнаруженного при опытной эксплуатации ПО дефекта интенсивность отказов скачком уменьшается на постоянную величину, а в промежутках между обнаружением и устранением следующего дефекта остается постоянной величиной. Таким образом, модель основана на следующих допущениях:

· случайное время между обнаружениями отказов в программе подчиняется экспоненциальному распределению;

· λ – интенсивность отказов ПО пропорциональна количеству еще оставшихся не выявленными дефектов в программе.

Согласно этим допущениям вероятность безотказной работы ПО как функция времени ti равна

(6.1)

где ti- время между появлением (i-1) и i отказа;

 

(6.2)

С- коэффициент пропорциональности;

N- количество первоначально заложенных дефектов в программе.

Как видно из (6.2) , коэффициенты C, N - неизвестны, и их необходимо экспериментально определять. Недостаток модели состоит в том, что при неточном экспериментальном определении величины N интенсивность отказа λi может стать отрицательной.

Покажем определение искомых коэффициентов, используя метод максимального правдоподобия [6.8].

Функция правдоподобия – F (t1, t2,…tn), равная произведению плотностей вероятности времени появления отказов ПО, для определения неизвестных параметров должна быть максимальной:

(6.3)

где t1, t2,…tn – временные отрезки между проявлениями отказов в ПО при отладке или опытной эксплуатации.

Покажем, как можно воспользоваться выражением (6.3) для получения коэффициентов C, N.

Допустим [6.6], при отладке получены следующие значения наработки между отказами ПО: t1=10ч, t2=20ч, t3=25ч.

Необходимо определить, сколько в среднем времени система проработает до 4 отказа. Обозначим, к = 4.

(6.4)

Известно [6.8], что максимум функций F(t1, t2,…tn) и Ln F(t1, t2,…tn) имеет место при одних и тех же значениях искомых переменных.

(6.5)

Поскольку в точке максимума частные производные функции по неизвестным параметрам равны 0, получим систему из двух уравнений:

 

, (6.6)

(6.7)

Из (6.7) следует, что

(6.8)

Подставим (6.8) в (6.2):

(6.9)

Из (6.9) получим значение N методом перебора.

Если N = 3, то левая часть (6.9) равна 3(10+25+20)/(1/3+1/2+1) = 90, в правой части 3*10+2*20+1*25) = 95. При N = 4 слева получится 152, а справа – 150. При N = 5 получится 210 и 205 соответственно.

Следовательно, наименьшая ошибка в (6.9) будет при N = 4.

Из (6.8) С = (1/4+1/3+1/2)/ (10=20+25) = 0.02.

Из (6.2) λ4 = 0.02(4 - 3) = 0.02 (1/ч)

Отсюда средняя наработка программы до появления 4 ошибки .

Модель Шумана[6.5, 6.6] отличается от рассмотренной выше модели Джелински - Моранды только тем, что периоды времени отладки и эксплуатации рассматриваются отдельно. Модель основана на следующих допущениях:

· в момент сдачи ПО на тестирование ( отладку) в нем имеется E0 ошибок, в ходе корректировок новые ошибки не вносятся;

· общее число I – машинных команд не изменяется при корректировках;

· интенсивность отказов λ ПО пропорциональна количеству дефектов, оставшихся в нем после отладки в течение времени τ,

· интенсивность отказов λ считается постоянной величиной на отрезке времени эксплуатации [0, t].

 

(6.10)

 

εс(τ)- отношение числа ошибок , устраненных в течение времени отладки отладки τ л общему числу команд I .

Следовательно, в этой модели надежности ПО различаются два времени:

· t – наработка программы в эксплуатации (ч.),

· τ – время отладки .

Тогда вероятность безотказной работы ПО на отрезке времени эксплуатации равна

(6.11)

 

Из эксперимента, используя метод максимального правдоподобия, найдем для двух периодов отладки τ1 и τ2 1 < τ2 ) значения двух неизвестных коэффициентов – С и Е0.