Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

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

Министерство образования и науки РФ

Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”

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

Дисциплина: метрология программного обеспечения.

Отчет по лабораторной работе № 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)).

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

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

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

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

  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

X[i]=T[i]-T[i-1]

X[i]= 287,9000

iX[i]= 5886,0000

= 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.2.расчет при 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.3.расчет при 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дней

2.Экспоненциальный закон распределения

2.1.расчет при 100% входных данных(n=30)

i

T[i]

i

T[i]

i

T[i]

1

0,1400

11

6,1000

21

13,9000

2

0,1800

12

7,0000

22

14,0000

3

0,4000

13

7,1600

23

14,6800

4

1,5000

14

8,3000

24

15,0400

5

1,7600

15

8,5200

25

16,0400

6

2,8000

16

9,1800

26

16,6200

7

4,3200

17

10,5600

27

16,7200

8

4,4400

18

11,1200

28

18,3600

9

4,9600

19

11,6000

29

18,8600

10

5,6200

20

11,8600

30

19,4000

n=30

= 15,5000

X[i]=T[i]-T[i-1]

X[i]= 281,1000

iX[i]= 5898,0000

= 20,9800

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

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

m

fn(m)

g n(m,A)

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

31

3.9950

2,9940

1,00097220

32

3,0270

2,7220

0,30491969

33

2,5580

2,4960

0,06265286

34

2,2550

2,3040

0,04868434

35

2,0350

2,1400

0,10492515

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

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

= 0,00819574

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

^Xn+1=1/(0,00819574*(33-30))= 40,6715дня

m

^Xi (дней)

31

40,6700

32

61,0100

33

122,0000

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

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

2.2.расчет при 80% входных данных(n=24)

i

T[i]

i

T[i]

i

T[i]

1

0,1207

9

3,7830

17

9,9700

2

0,1613

10

5,5860

18

10,6700

3

0,5446

11

5,7630

19

11,4300

4

0,7580

12

5,8880

20

16,1400

5

0,8013

13

5,9970

21

16,2500

6

2,5750

14

6,8720

22

18,0800

7

2,9440

15

6,9920

23

18,4500

8

3,0790

16

8,1640

24

19,7300

n=24

= 12,5000

X[i]=T[i]-T[i-1]

X[i]= 180,7000

iX[i]= 3242,0000

= 17,9400

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

m

fn(m)

g n(m,A)

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

25

3.7760

3,3970

0,37859477

26

2,8160

2,9760

0,16012097

27

2,3540

2,6480

0,29332976

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

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

= 0,01646543

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

^Xn+1=1/(0,01646543*(25-24))= 60,7333 дня

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

m

^Xi (дней)

25

60,7300

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

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

2.3.расчет при 60% входных данных(n=18)

i

T[i]

i

T[i]

i

T[i]

1

0,4500

7

4,2310

13

8,9160

2

0,7150

8

4,7640

14

11,3300

3

1,0760

9

6,3490

15

16,1900

4

1,4620

10

7,5500

16

17,6000

5

3,3830

11

8,0740

17

19,5200

6

3,7400

12

8,8670

18

19,8100