Прогнозирование числа отказов программного обеспечения космических аппаратов
ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. Машиностроение. 2016. № 5
25
матическое ожидание числа выявленных ошибок имеет экспоненциальный
рост. Однако на практике, как правило, число выявленных ошибок подчиняется
S
-образной кривой. В данном разделе анализируется следующий вид зависимо-
сти, предложенной в работе [7]:
( ) [1 (1 ) ],
bt
M t a
bt e
где
M
(
t
) — математическое ожидание числа выявленных ошибок за время
t
;
a, b
— коэффициенты аппроксимации;
t
— время функционирования устрой-
ства.
При решении задачи предполагается, что ошибки, выявляемые на каждом
цикле тестирования, устраняются по мере их обнаружения. При этом новые
ошибки не вводятся. В соответствии с исследуемой моделью надежность ПО
оценивается по соотношению
[ ( ) ( )]
( , )
,
M t s M s
Р t s e
где
P
(
t, s
) — вероятность того, что на интервале (
s, s +
t
) не встретится никаких
ошибок ПО при условии, что последняя ошибка выявлена и устранена в момент
s
.
Оценка параметров
a
и
b
исследуемой модели проводится по результатам
тестирования. Предложенный в работе [7] подход использует только информа-
цию о числе отказов на каждом цикле тестирования и не требует знания допол-
нительных сведений о конкретных особенностях ПО. Далее приведены стати-
стические данные по результатам тестирования в виде значений
,
k
y
которые
характеризуют число ошибок ПО, выявленных к моменту времени
.
k
t
Для
нахождения искомых параметров используется метод максимального правдо-
подобия. В общем случае функция правдоподобия имеет вид
1
( , ),
n
i
i
i
L f
x
где
— вектор искомых параметров;
i
x
— результаты тестирования.
В рассматриваемом случае
( , )
i
i
f
x
характеризует вероятность выявления
такого числа ошибок, которое реализовалось на каждом цикле тестирования.
Согласно принятому предположению, эта вероятность подчиняется НПП с
S
-образным изменением математического ожидания. Таким образом, выраже-
ние для функции правдоподобия принимает вид
1,
1,
1
(
)
,
!
k k
k
n
k k
M
k
M
L
e
k
где
( ) ( 1),
k
M M k M k
1
.
k k
k y y
После подстановки получим
1
1,
(
)
1,
1
1
1
.
(
)!
k k
k k
y y
n
n
k k
M
k
k k
k
M
L
e
y y