Общая характеристика моделей надежности программных средств

Автор: Пользователь скрыл имя, 24 Марта 2013 в 23:04, реферат

Описание работы

Модели надежности программных средств подразделяются на аналитические и эмпирические. Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования. Эмпирические модели базируются на анализе структурных особенностей программ.

Содержание

Введение 3
1 Аналитические модели надежности ПС 4
1.1 Динамические модели надежности 4
1.2 Статические модели надежности 20
2 Эмпирические модели надежности 34
Заключение 42
Список использованных источников 43

Работа содержит 1 файл

Модели надежности.doc

— 647.50 Кб (Скачать)

                                                                  (17)

В противном случае оценка максимального  правдоподобия будет B^ = ∞. Условие (17) можно переписать в более удобном виде

A> (n+1)/2,                                                                             (18)

где  A – то же самое выражение, что и в формуле (16). Необходимо отметить, что,  A является интегральной характеристикой n встретившихся в программе за время тестирования ошибок, и представляет (в статистическом смысле) набор интервалов Xi между ошибками.

Рассмотрим пример использования модели Джелинского-Моранды, в котором она применяется к следующим экспериментальным данным: в течение 250 дней было обнаружено 26 ошибок, интервалы между обнаружением которых представлены в таблице 1.  Для этих данных мы имеем n=26 и . Условие (18) выполняется, и, таким образом, оценка максимального правдоподобия имеет единственное решение. В таблице 2 представлены начальные значения функций, входящих в уравнение (16), для множества аргументов m≥n+1.

Наилучшим решением для уравнения (16) является m=32 (соответствующая строка в таблице дает минимальное значение разницы функций по модулю, то есть максимально приближает ее к нулю, что нам и требуется), то есть B^ = m-1=31. Из выражения  (14) находим B^ = 0.007.  

Среднее время  (время, оставшееся до обнаружения (n+1)-й ошибки) есть инвертированная оценка интенсивности для предыдущей ошибки:

В этом примере,Xest27 = 29 дней, и время до полного завершения тестирования 

 

Таблица 1 - Интервалы между обнаружением ошибок. 

I

Xi

I

Xi

i

Xi

i

Xi

1

9

8

8

15

4

21

11

2

12

9

5

16

1

22

33

3

11

10

7

17

3

23

7

4

4

11

1

18

3

24

91

5

7

12

6

19

6

25

2

6

2

13

1

20

1

26

1

7

5

14

9

       

 

Таблица 2 - Значения функций.

m

f26 (m)

g26 (m,A)

f26 (m) - g26 (m,A)

27

3.854

2.608

1.246

28

2.891

2.371

0.520

29

2.427

2.172

0.255

30

2.128

2.005

0.123

31

1.912

1.861

0.051

32

1.744

1.737

0.007

33

1.608

1.628

-0.020

34

1.496

1.532

-0.036


 

 

 

Простая экспоненциальная модель

Основное различие между этой моделью  и моделью Джелинского-Моранды, рассмотренной  в предыдущем разделе, в том, что  эта модель не использует предположение 6, и, таким образом,  допускает, что  функция риска может меняться между моментами обнаружения  ошибок, то есть она больше не является константой на этих интервалах. Пусть N(t) – число ошибок, обнаруженных к моменту времени, и пусть функция риска пропорциональна количеству ошибок, оставшихся в программе после момента t.

Продифференцируем обе части этого уравнения по времени:

Учитывая, что    - это R(t) (количество ошибок, обнаруживаемых в единицу времени), получаем дифференциальное уравнение для R(t)

                                                                     (19)

Если рассмотреть начальные  значения N(0)=0, R(0)=KB, то решением уравнения (19) будет

                                                                   (20)

Оценки параметров К и В можно  получить аналогично модели Джелинского-Моранды и затем  с помощью  оценки функции риска можно спрогнозировать ситуацию на следующие этапы отладки.

 

Геометрическая  модель

Рассмотрим геометрическую модель надёжности ПО, предложенной П. Б. Морандой и  являющейся модификацией модели Джелинского-Моранды.

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

  1. общее число ошибок неограниченно;
  2. обнаружение ошибок неравновероятно;
  3. обнаружение ошибок – процесс, независимый от ошибок;
  4. ПО работает в условиях, близких к реальным;
  5. интенсивность обнаружения ошибок образует геометрическую прогрессию и она в интервале между появлениями ошибок постоянна.

Интенсивность отказов имеет следующий  вид:

λ ( ti ) = DKi-1,       (21)

где : λ (0)=D – исходное значение интенсивности отказов;

K – константа пропорциональности 0 < K < 1;

ti – время между появлениями (i – 1)-ой и i-ой обнаруженных ошибок.

Ksw × (E0 - ( i - 1 ))× ti      (22)

Пример:

Нахождение характеристик геометрической модели методом максимального правдоподобия.

Пусть интервалы времени между  появлениями ошибок

t1=7 час.; t2=12 час.; t3=23 час.; t4=17 час.; t5=10 час.

Число ошибок n = 5.

Функция правдоподобия примет вид:

   (23)

Прологарифмировав и взяв частные  производные по D и K, получим условия экстремума:

    (24)

Полагая D= Dˆ = и K= Kˆ = и решая систему уравнений (24), получаем оценки максимального правдоподобия Kˆ =0.892 и Dˆ = 0.092

Среднее время до обнаружения (n+1)–ой ошибки:

Значения интенсивности отказов  на каждом интервале тестирования приведены в таблице 3.

 

Таблица 3 - Значения интенсивности отказов

Интервал

λ(ti)

1

0.092

2

0.082

3

0.073

4

0.065

5

0.058


 

Модель Шика-Волвертона

Данная модель является модификацией модели Джелинского–Моранды  и была предложена Шиком и Волвертоном.

Дополнительно к  допущениям модели Джелинского–Моранды  используется следующее допущение: частота появления ошибок пропорциональна времени отладки программы ti, т.е. вероятность обнаружения ошибок с течением времени должна возрастать.

λ ( ti ) = Ksw * (E0 - ( i - 1 ))* ti ,    (25)

где E0 – число ошибок в ПО до начала тестирования и отладки; Ksw – коэффициент Шика-Волвертона; ti – интервал времени между (i-1)-й и i-й обнаруженными ошибками; i – число ошибок обнаруженных к моменту отладки ti.

Для вероятности безотказной работы имеем следующее выражение:

   (26)

Функция плотности будет иметь  вид:

   (27)

 

Пример:

Оценка характеристик модели Шика-Волвертона E0 и Ksw при помощи метода максимального правдоподобия.

Пусть интервалы времени между  отказами

t1=7 час.; t2=12 час.; t3=23 час.; t4=17 час.; t5=10 час..

Пусть число найденных ошибок n = 5.

Функция правдоподобия будет иметь  вид:

  (28)

Возьмём натуральный логарифм от функции  правдоподобия, чтобы произведение функций заменить суммой:

  (29)

Возьмём частные производные по E0 и Ksw и найдём условия экстремума:

    (30)

Решая систему уравнений (30) и полагая Ksw= Kˆsw и E0 = Eˆ0, получаем оценку коэффициента Шика-Волвертона

sw =0.001

и оценку числа ошибок

0=11

Рассмотренные модели Джелинского-Моранды, Шика-Волвертона можно использовать как на этапе тестирования и отладки, так и на этапе эксплуатации.

 

Модель Муса

Модель Муса относят к динамическим моделям непрерывного времени. Это  значит, что в процессе тестирования фиксируется время выполнения программы (тестового прогона) до очередного отказа. Но считается, что не всякая ошибка ПС может вызвать отказ, поэтому допускается обнаружение более одной ошибки при выполнении программы до возникновения очередного отказа.

Считается, что на протяжении всего  жизненного цикла ПС может произойти M0 отказов и при этом будут выявлены все N0 ошибки, которые присутствовали в ПС до начала тестирования.

Общее число отказов M0 связано с первоначальным числом ошибок N0 соотношением

N0= B*M0       (31)

где В — коэффициент уменьшения числа ошибок.

В момент, когда проводится оценка надежности, после тестирования, на которое потрачено определенное время t, зафиксировано т отказов и выявлено п ошибок.

Тогда из соотношения

п = Вт       (32)

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

В модели Муса различают два вида времени:

1) суммарное время функционирования  τ, которое учитывает чистое  время тестирования до контрольного  момента, когда проводится оценка надежности;

2) оперативное время t — время выполнения программы, планируемое от контрольного момента и далее при условии, что дальнейшего устранения ошибок не будет (время безотказной работы в процессе эксплуатации).

Для суммарного времени функционирования τ предполагается:

• интенсивность отказов пропорциональна  числу неустраненных ошибок;

• скорость изменения числа устраненных  ошибок, измеряемая относительно суммарного времени функционирования, пропорциональна  интенсивности отказов.

Один из основных показателей надежности, который рассчитывается по модели Муса, — средняя наработка на отказ. Этот показатель определяется как математическое ожидание временного интервала между последовательными отказами и связан с надежностью:

     (33)

где t — время работы до отказа.

Если интенсивность отказов  постоянна (т.е. когда длительность интервалов между последовательными  отказами имеет экспоненциальное распределение), то средняя наработка на отказ  обратно пропорциональна интенсивности  отказов.

 

Модель переходных вероятностей

Эта модель основана на марковском процессе, протекающем в дискретной системе  с непрерывным временем.

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

В начальный момент тестирования (t = 0) в ПС было п ошибок. Предполагается, что в процессе тестирования выявляется по одной ошибке. Тогда последовательность состояний системы (п, п-1, п-2, п-3) и т.д. соответствует периодам времени, когда предыдущая ошибка уже исправлена, а новая еще не обнаружена. Например, в состоянии п-5 пятая ошибка уже исправлена, а шестая еще не обнаружена.

Информация о работе Общая характеристика моделей надежности программных средств