Скачиваний:
27
Добавлен:
01.05.2014
Размер:
374.78 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет

Кафедра МОЭВМ

Отчет по лабораторной работе №4.

Оценка параметров надежности программ

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

Выполнил:

Студент гр.3351

Сергеев М.В.

Санкт-Петербург

2007г.

  1. Постановка задачи

Выполнить исследование показателей надежности программ, характеризуемых моделью обнаружения ошибок Джелинского-Моранды, для различных законов распределения времен обнаружения отказов и различного числа используемых для анализа данных.

Для проведения исследования требуется:

Сгенерировать массивы данных { ti }, где ti – момент обнаружения i–ой ошибки ( i=[1,30], также смотри примечание в п.3), в соответствии с:

А) равномерным законом распределения в интервале [0,20]; при этом cреднее время появления ошибки будет mравн = 10, СКО sравн = 20/(2*sqrt(3)) = 5.8 .

Б) экспоненциальным законом распределения

W(y) = b*exp(-b*y), y>=0, c параметром b=0.1

и соответственно mэксп=sэксп= 1/b=10.

Значения случайной величины Y с экспоненциальным законом распределения с параметром «b» можно получить по значениям случайной величины t, равномерно распределенной в интервале [0,1], по формуле [1]: Y = -ln(t) / b

В) релеевским законом распределения

W(y) = (y/c^2)*exp(-y^2/(2*c^2)), y>=0, c параметром c=8.0 и соответственно mрел = c*sqrt(/2), sрел= c*sqrt(2-/2).

Значения случайной величины Y с релеевским законом распределения с параметром «с» можно получить по значениям случайной величины t, равномерно распределенной в интервале [0,1], по формуле [1]: Y = с * sqrt(-2*ln(t)).

Каждый из 3-х массивов {ti} упорядочить по возрастанию и затем вычислить по ним массивы значений интервалов Xi между соседними ошибками

Для каждого из 3-х массивов {Xi} оценить значение первоначального числа ошибок в программе B. При этом для каждого закона использовать 100%, 80% и 60% входных данных (то есть в массивах {Хi} использовать n = 30, 24 и 18 элементов). Примечание: для каждого значения n следует генерировать и сортировать новые массивы.

Если B>n, оценить значения средних времен Xj , j=n+1,n+2…, n+k до обнаружения k<= 5 следующих ошибок и общее время на выполнение тестирования.

Сравнить и объяснить результаты, полученные для различных законов распределения времени между соседними отказами и различного числа используемых для анализа данных.

  1. Равномерный закон распределения

    1. 100% входных данных(n=30)

i

T[i]

i

T[i]

i

T[i]

1

0,6600

11

7,1600

21

13,9000

2

1,2600

12

8,4400

22

14,5400

3

2,1000

13

8,6400

23

14,6000

4

2,3200

14

8,6400

24

15,3600

5

2,5400

15

8,8400

25

15,5800

6

2,7400

16

9,0600

26

15,5800

7

2,9400

17

9,4800

27

15,8000

8

4,8600

18

11,6000

28

16,0000

9

5,7000

19

11,6200

29

18,9600

10

6,7600

20

12,4400

30

19,8000

n=30 = 15,5000 = 20,4400

Условие сходимости A> выполнено: 20,44>15,5

Рассмотрим функции и

m

fn(m)

g n(m,A)

|fn(m)-g n(m,A)|

31

3,9950

2,8420

1,15329740

32

3,0270

2,5960

0,43143811

33

2,5580

2,3890

0,16940839

34

2,2550

2,2130

0,04260213

35

2,0350

2,0610

0,02597349

36

1,8630

1,9280

0,06493198

Минимум разности при m = 35

Первоначальное число ошибок B=m-1=34

= 0.00715772

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

^Xn+1=1/(0.00715772*(34-30))=34,93 дней

аналогично для (n+2) и т.д.:

m

^Xi (дней)

31

34,9300

32

46,5700

33

69,8500

34

139,7000

Время до завершения тестирования: ttst=^Xi= 291,05

Общее время тестирования:tcom=X[i]+ ^Xi=578.95579 дней

    1. 80% входных данных(n=24)

i

T[i]

i

T[i]

i

T[i]

1

0,6200

9

9,6800

17

14,9200

2

1,4000

10

11,1600

18

15,0600

3

3,0400

11

11,4800

19

15,8400

4

3,5000

12

12,2200

20

16,0600

5

5,3000

13

12,2600

21

17,3400

6

5,6800

14

12,5000

22

17,4800

7

7,1000

15

13,2800

23

17,8000

8

8,7400

16

14,0600

24

19,6000

n=24 = 12,5000

X[i]=T[i]-T[i-1] X[i]= 266,1000 iX[i]= 4212,0000

= 15,8300

Условие сходимости A> выполнено: 15,8300>12,5000

Рассмотрим функции и

m

fn(m)

g n(m,A)

|fn(m)-g n(m,A)|

25

3.7760

2.6170

1.15913510

26

2.8160

2.3600

0.45640712

27

2.3540

2.1480

0.20608171

28

2.0580

1.9720

0.08629209

29

1.8440

1.8220

0.02171160

30

1.6780

1.6940

0.01522818

31

1.5450

1.5820

0.03693400

Минимум разности при m = 30

Первоначальное число ошибок B=m-1=29

= 0.00636385

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

^Xn+1=1/(0.00636385*(29-24))=31,43 дня

аналогично для (n+2) и т.д.:

m

^Xi (дней)

25

31.4300

26

39.2800

27

52.3800

28

78.5700

29

157.1000

Время до завершения тестирования: ttst=^Xi= 358,76

Общее время тестирования:tcom=X[i]+ ^Xi=624,88625 дней

    1. 60% входных данных(n=18)

i

T[i]

i

T[i]

i

T[i]

1

0,2000

7

6,8400

13

12,0800

2

1,2400

8

7,1000

14

12,5400

3

1,4000

9

8,6400

15

14,9800

4

3,0400

10

8,9000

16

17,2400

5

4,6800

11

10,2800

17

17,4000

6

4,8400

12

11,0800

18

19,6600

n=18 = 9,5000

X[i]=T[i]-T[i-1] X[i]= 162.1000 iX[i]= 2072.0000

= 12.7800

Условие сходимости A> выполнено: 12.7800>9,5000

Рассмотрим функции и

m

fn(m)

g n(m,A)

|fn(m)-g n(m,A)|

19

3.4950

2.8930

0.60227642

20

2.5480

2.4920

0.05545088

21

2.0980

2.1890

0.09143494

Минимум разности при m = 20

Первоначальное число ошибок B=m-1=19

= 0.01537121

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

^Xn+1=1/(0.01537121*(19-18))=65,06 дня

m

^Xi (дней)

19

65.0600

Время до завершения тестирования: ttst=^Xi= 65,06

Общее время тестирования:tcom=X[i]+ ^Xi=227,2дней

Соседние файлы в папке Лабораторная работа №4