Автор работы: Пользователь скрыл имя, 10 Января 2011 в 16:26, лабораторная работа
1. Модель Шумана основана на следующих допущениях:
•общее число команд в программе на машинном языке постоянно;
•в начале компоновочных испытаний число ошибок равно некоторой постоянной величине, и по мере исправления ошибок их становится меньше. В ходе испытаний программы новые ошибки не вносятся;
•ошибки изначально различимы, по суммарному числу исправленных ошибок можно судить об оставшихся;
•интенсивность отказов программы пропорциональна числу остаточных ошибок.
Отчет по лабораторной работе на тему:
Модели
надежности программного
обеспечения
1. Модель Шумана основана на следующих допущениях:
Предполагается, что до начала тестирования (т.е. в момент t=0) имеется M ошибок. В течение времени тестирования τ обнаруживается ε1(t) ошибок в расчете на одну команду в машинном языке.
Тогда удельное число ошибок на одну машинную команду, оставшихся в системе после времени тестирования τ, равно:
(1)
где I - общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.
Предполагается, что значение функции количества ошибок Z(t) пропорционально числу ошибок, оставшихся в программе после израсходованного на тестирование времени τ.
Z (t) = C * ε2 (τ),
где С - некоторая постоянная, t - время работы программы без отказов.
Тогда, если время работы программы без отказа t отсчитывается от точки t = 0, а τ остается фиксированным, функция надежности, или вероятность безотказной работы на интервале от 0 до t, равна
(2)
(3)
Нам необходимо найти начальное значение ошибок M и коэффициент пропорциональности С. Эти неизвестные оцениваются путем пропуска функционального теста в двух точках переменной оси отладки ta и tв, выбранных так, что ε1(ta)<ε1(td).
В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования τ складывается из времени каждого прогона:
τ = τ1 + τ2 + τ3 + … + τn.
Предполагая, что интенсивность появления ошибок постоянна и равна λ, можно вычислить ее как число ошибок в единицу времени,
(4)
где Ai - количество ошибок на i - ом прогоне.
Тогда . (5)
Имея
данные для двух различных моментов
тестирования ta и tв, можно сопоставить
уравнения (3) при τa
и τb:
(6)
(7)
Из соотношений (6) и (7) найдем неизвестный параметр С и М:
(8)
(9)
Получив неизвестные M* и C*, можно рассчитать надежность программы по формуле (2).
Пример 1.
Программа
содержит 2 000 командных строк, из них, до
начала эксплуатации (после периода отладки),
15 командных строк содержат ошибки. После
20 дней работы обнаружена 1 ошибка. Найти
среднее время безошибочной работы программы
и интенсивность отказов программы при
коэффициенте пропорциональности, равном
0,7.
I= | 2000 |
M= | 15 |
t= | 20 |
x= | 1 |
C= | 0,7 |
|
|
|
E1(t)= | 0,0005 | ||
E2(t)= | 0,007 | ||
P(t)= | 0,906649 | ||
tср= | 204,0816 | ||
λ= | 0,0049 | - интенсивность отказов |
Пример 2.
На условиях примера 1 определить вероятность безошибочной работы программы в течение 90 суток.
I= | 2000 | ||
M= | 15 | ||
t= | 90 | ||
x= | 1 | ||
C= | 0,7 | ||
|
Пример 3.
Определить
первоначальное количество возможных
ошибок в программе, содержащей 2 000 командных
строк, если в течение первых 60 суток эксплуатации
было обнаружено 2 ошибки, а за последующие
40 суток была обнаружена одна ошибка. Определить
T0 – среднее время безошибочной
работы, соответствующее первому и второму
периоду эксплуатации программы и коэффициент
пропорциональности.
I= | 2000 | ||||
t1= | 60 | суток | |||
t2= | 100 | суток | |||
x1= | 2 | ош. | |||
x2= | 3 | ош. | |||
T0= | 30 | 33,33333 | |||
Интенсивности отказов: λ1= |
0,033333 | ||||
λ2= | 0,03 | ||||
C= |
6,666667 | ||||
E1(t1)= | 0,001 | ||||
E2(t2)= | 0,0015 | ||||
M= | 12 | ||||
Л2/Л1= | 0,9 |
2. Модель Миллса. Пусть в процессе тестирования обнаружено n исходных ошибок и v из S рассеянных ошибок. Тогда оценка N - первоначальное число ошибок в программе - составит
Вторая часть модели связана с проверкой гипотезы выражения и тестирования N.
Рассмотрим случай, когда программа содержит К собственных ошибок и S рассеянных ошибок. Будем тестировать программу до тех пор, пока не обнаружим все рассеянные ошибки. В то же время количество обнаруженных исходных ошибок накапливается и запоминается. Далее вычисляется оценка надежности модели:
(11)
как вероятность того, что в программе содержится K ошибок.
Величина С является мерой доверия к модели и показывает вероятность того, насколько правильно найдено значение N. Эти два связанных между собой по смыслу соотношения образуют полезную модель ошибок: первое предсказывает возможное число первоначально имевшихся в программе ошибок, а второе используется для установления доверительного уровня прогноза.
Формула для расчета С в случае, когда обнаружены не все искусственно рассеянные ошибки, модифицирована таким образом, что оценка может быть выполнена после обнаружения v (v£S) рассеянных ошибок:
1 (12)
где
числитель и знаменатель
Пример
4.
Предположим, что в программе имеется 3 собственных ошибки. Внесём ещё 6 ошибок случайным образом.
В процессе тестирования было найдено:
1) 6 ошибок из рассеянных и 2 собственных;
2) 5 ошибок из рассеянных и 2 собственных;
3) 5 ошибок из рассеянных и 4 собственных.
Найти надёжность по модели Миллса - С.
K= | 3 | ош - собственные | |||||||||||||||
S= | 6 | ош - случайные | |||||||||||||||
1) | |||||||||||||||||
n= | 2 | ||||||||||||||||
v= | 6 | ||||||||||||||||
C= | 0,6 | ||||||||||||||||
2) | |||||||||||||||||
n= | 2 | ||||||||||||||||
v= | 5 | ||||||||||||||||
C= | 0,333333 | ||||||||||||||||
2! | 4! | 6! | 8! | 10! | |||||||||||||
2 | 24 | 720 | 40320 | 3628800 | |||||||||||||
3) | |||||||||||||||||
n= | 4 | ||||||||||||||||
v= | 5 | ||||||||||||||||
C= | 1 | по формуле (12) |
Информация о работе Модели надежности программного обеспечения