Модели надежности программных комплексов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модели надежности программных комплексов



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

Одна из моделей основана на следующих допущениях:

- общее число команд в программе на машинном языке постоянно;

- в начале компоновочных испытаний число ошибок равно некоторой постоянной величине, и по мере исправления ошибок их становится меньше. В ходе испытаний программы новые ошибки не вносятся;

- ошибки изначально различимы, по суммарному числу исправленных ошибок можно судить об оставшихся;

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

На основе этих допущений получаем:

, (5.1)

где t – продолжительность отладки программы, отсчитываемая от момента начала компоновки системы программного обеспечения;

– число остаточных ошибок в момент времени t, отнесённое к общему числу команд I;

– отношение числа ошибок E 0, имеющихся в программе в момент t = 0, к общему числу команд на машинном языке I, т. е. ;

– суммарное число ошибок, исправленных к моменту времени t, отнесённое к общему числу команд I.

Используя последнее допущение, имеем:

, (5.2)

где t –время работы системы;

– интенсивность отказов в течение интервалов времени t;

Ks – коэффициент пропорциональности,

Определив с помощью формулы (5.2) интенсивность отказов программы (частоту появления ошибок), найдём выражение для вероятности безошибочной работы:

. (5.3)

Поскольку в данной модели частота появления ошибок считается независящей от времени t, она принимается постоянной и, следовательно, среднее время безошибочной работы программы равно:

. (5.4)

Для оценки параметров модели подставим соотношение (5.1) в формулу (5.4), получим следующие выражение для среднего времени безошибочной работы:

. (5.5)

Выражение (5.5) содержит два неизвестных параметра – Кs и Ео, которые можно оценить, используя метод согласования моментов. Рассматривая два периода откладки программы t1 и t2, такие, что t1 < t2, получаем:

, (5.6)

, (5.7)

где t1 и t2 – продолжительность работы системы;

m1 и m2 – число ошибок в программном обеспечении, обнаруженных соответственно в периодах t1 и t2.

Из отношений (5.6) и (5.7) следует, что

, (5.8)

где ,

T0i – среднее время безошибочной работы, соответствующее периоду откладки программы и определяемое как T0i = ti / mi.

Заменяя отношение на T1 в формуле (5.6), найдем Ks:

. (5.9)

Другим методом оценивания параметров E0 и Ks является использование оценок максимального правдоподобия.

 

Пример 1.

Программа содержит 2 000 командных строк, из них, до начала эксплуатации (после периода отладки), 15 командных строк содержат ошибки. После
20 дней работы обнаружена 1 ошибка. Найти интенсивность отказов программы при коэффициенте пропорциональности, равном 0,7, и среднее время безошибочной работы программы.

Решение.

В соответствии с выражением (5.2), найдем интенсивность отказов программы

= = 0,7∙(15/2000 – 1/2000) = 0,0049 1/сут.

В соответствии с выражением (5.4), найдем среднее время безошибочной работы программы.

= 1/0,0049 = 200 сут.

Пример 2.

На условиях примера 1, определить вероятность безошибочной работы программы в течение 90 суток.

Решение.

Вероятность безошибочной работы программы в течение 90 суток, в соответствии с выражением (5.3), равно

= .

Пример 3.

Определить первоначальное количество возможных ошибок в программе, содержащей 2 000 командных строк, если в течение первых 60 суток эксплуатации было обнаружено 2 ошибки, а за последующие 40 суток была обнаружена одна ошибка. Определить T0 – среднее время безошибочной работы, соответствующее первому и второму периоду эксплуатации программы и коэффициент пропорциональности.

Решение.

В соответствии с выражением (5.8), находим первоначальное количество возможных ошибок в программе:

.

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

Коэффициент пропорциональности находится по формуле (5.9):

.

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

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

, (5.10)

где – коэффициент пропорциональности;

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

С помощью формулы (5.10) можно найти вероятность безошибочной работы:

, (5.11)

и среднее время безошибочной работы:

. (5.12)

Пример 4.

Интервал времени между 3-й и 4-й обнаруженными ошибками в программе, состоящей из 2 000 командных строк, был равен 50 суткам. Коэффициент пропорциональности равен 0,005. Общее количество ошибок в начале эксплуатации составляет 15 штук. Определить частоту появления ошибок, вероятность безошибочной работы и среднее время безошибочной работы.

Решение.

Частота появления ошибок определяется из выражения (5.10):

.

Вероятность безошибочной работы можно найти из выражения (5.11):

.

Среднее время безошибочной работы:

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

, (5.13)

где t1 –промежуток времени между(i-1)-й и i -й ошибками.

Вероятность безошибочной работы равна:

. (5.14)

Среднее время безошибочной работы определяется по формуле:

. (5.15)

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 514; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.13.255 (0.013 с.)