Лабораторная работа

Лабораторная работа Модели надежности программного обеспечения

Работа добавлена на сайт bukvasha.net: 2015-10-29

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.9.2024





Отчет по лабораторной работе на тему:

Модели надежности программного обеспечения
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

P(t)=

0,643393







Пример 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)

где числитель и знаменатель формулы при n £ К являются биноминальными коэффициентами.
Пример 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)



 


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

Пусть первая группа обнаружила n1 ошибок, вторая n2 , n12 - это число ошибок, обнаруженных как первой, так и второй группой.

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

.

Эффективность тестирования можно интерпретировать как вероятность того, что ошибка будет обнаружена. Таким образом, можно считать, что первая группа обнаруживает ошибку в программе с вероятностью , вторая - с вероятностью . Тогда вероятность p12 того, что ошибка будет обнаружена обеими группами, можно принять равной . С другой стороны, так как группы действуют независимо друг от друга, то р12 = р1р2. Получаем:  

Отсюда получаем оценку первоначального числа ошибок программы:

.

Пример 5
.



В процессе тестирования программы 1-я группа нашла 15 ошибок, 2-я группа нашла 25 ошибок, общих ошибок было 5. Определить надёжность по простой интуитивной модели.



n1=



15

ош

n2=



25

ош

общ.ош=



5

ош









N=



75



p1=



0,2



p2=



0,333333



p12=



0,066667





4. Модель Коркорэна

Применение модели предполагает знание следующих ее показателей:

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

·      в модели используются такие параметры, как результат только N испытаний, в которых наблюдается Ni ошибок i-го типа;

·      выявление в ходе N испытаний ошибки i-го типа появляется с вероятностью аi.

Показатель уровня надежности R вычисляют по следующей формуле:



где N0 - число безотказных (или безуспешных) испытаний, выполненных в серии из N испытаний,  k - известное число типов ошибок,  ai — вероятность выявления при тестировании ошибки i-го типа,

Yi - вероятность появления ошибок, при Ni > 0, Yi = ai,  при Ni = 0, Yi = 0.

Пример 6
.
 


Было проведено 100 испытаний программы. 20 из 100 испытаний прошли безуспешно, а в остальных случаях получились следующие данные:

Тип ошибки

Вероятность появления  ошибки ai

Число появления ошибок  Ni при испытании

Yi

(Yi*(Ni-1))/N

1. Ошибки вычисления

0,09

5

0,09

0,0036

2. Логические ошибки

0,26

25

0,26

0,0624

3. Ошибки ввода/вывода

0,16

3

0,16

0,0032

4. Ошибки манипулирования данными

0,18

0

0

0

5. Ошибки сопряжения

0,17

11

0,17

0,017

6. Ошибки определения данных

0,08

3

0,08

0,0016

7. Ошибки в БД

0,06

4

0,06

0,0018



Оценить надёжность по модели Коркорэна.

Исходные данные:

N=

100

N0=

20

R=

0,2896


Пример 7. Было проведено 100 испытаний программы. 20 из 100 испытаний прошли безуспешно, а в остальных случаях получились следующие данные:

Тип ошибки, i

Вероятность появления  ошибки.  ai

Число появления ошибок  Ni при испытании

Yi

(Yi*(Ni-1))/N

1

0,09

8

0,09

0,0063

2

0,26

0

0

0

3

0,17

4

0,17

0,0051

4

0,2

25

0,2

0,048

5

0,8

25

0,8

0,192

6

0,08

3

0,08

0,0016

7

0,16

5

0,16

0,0064

Оценить надёжность программы  по модели Коркорэна.



Исходные данные:

N=

100

N0=

20

R=

0,4594



1. Контрольная работа Обучение детей дошкольного возраста решению арифметических задач
2. Курсовая на тему Рекламный ролик особенности жанра этапы создания
3. Реферат Профессиональная подготовка специалистов-психологов
4. Реферат Категорический императив И. Канта
5. Реферат на тему Character Analysis Essay Research Paper Character Analysis
6. Доклад на тему Відкриття Нептуна
7. Реферат на тему Регістри жіночих і чоловічих голосів
8. Курсовая Предмет цивільного права
9. Книга Душевные болезни православный взгляд, Авдеев Д. А.
10. Реферат Карл VII император Священной Римской империи