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

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

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

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

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

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

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

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

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

, (6.1)

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

, (6.2)

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

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

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

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

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

F(t1, t2,.., tn) → max, (6.3)

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

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

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

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

F(t1, t2,.., tn) = . (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.7] отличается от рассмотренной выше модели Джелински-Моранды только тем, что периоды времени отладки и эксплуатации рассматриваются отдельно. Модель основана на следующих допущениях:

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

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

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

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

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

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

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

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

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

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