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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 25.11.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. Диплом на тему Организация учета основных средств в ЗАО Верещагинская ПМК 17
4. Реферат Финансовая политика России в современных условиях 4
5. Реферат Перепись населения США 1850
6. Курсовая на тему Аналіз психофізіологічних особливостей поведінки пілота в екстремальних умовах
7. Реферат на тему Industrialization Essay Research Paper Industrialization in economics
8. Курсовая Выбор стратегии развития организации
9. Курсовая на тему Механізм та результати конкуренції промислових капіталів
10. Реферат Анализ эффективности использования трудовых ресурсов 4