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

Автор работы: Пользователь скрыл имя, 10 Января 2011 в 16:26, лабораторная работа

Краткое описание

1. Модель Шумана основана на следующих допущениях:

•общее число команд в программе на машинном языке постоянно;
•в начале компоновочных испытаний число ошибок равно некоторой постоянной величине, и по мере исправления ошибок их становится меньше. В ходе испытаний программы новые ошибки не вносятся;
•ошибки изначально различимы, по суммарному числу исправленных ошибок можно судить об оставшихся;
•интенсивность отказов программы пропорциональна числу остаточных ошибок.

Содержимое работы - 1 файл

отчет по моделям.doc

— 165.50 Кб (Скачать файл)

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

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

    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)  

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