Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические модели и методы повышения надежности ПО.rtf
Скачиваний:
101
Добавлен:
01.05.2014
Размер:
2 Мб
Скачать

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

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

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

          1. Обзорная лекция

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

на тему

"Математические модели и методы повышения надежности ПО"

Доцент каф. МОЭВМ Кирьянчиков Владимир Андреевич

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

2001

1. Введение

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

2. Основные показатели надежности по

Пусть P(t) - вероятность того, что ни одной ошибки не будет обнаружено на временном интервале [0,t]. Тогда вероятность хотя бы одного отказа за этот период будет Q(t) = 1 – P(t), и плотность вероятности отказов можно записать как

Рассмотрим функцию риска R(t), как условную плотность вероятности отказа программы в момент времени t, при условии, что до этого момента отказов не было:

(2.1)

Функция риска имеет размерность [1/время]. Из выражения (2.1), ясно, что , и, следовательно,

или

(2.2)

Равенство (2.2) является одним из самых важных в теории надежности. Различные виды поведения функции риска во времени порождают различные модели надежности ПО. Интенсивность обнаружения ошибок (функция риска), вместе с вероятностью безотказной работы программы и количеством оставшихся в программе ошибок, являются важнейшими показателями надежности программ.

Прогон программы – это набор действий, включающий в себя: ввод в программу одной из возможных комбинаций Ei пространства входных данных E ( ); выполнение программы, которое заканчивается либо получением результата F(Ei), либо отказом.

Для некоторых наборов входных данных Ei, отклонение полученного на выходе результата (F’(Ei)) от требуемого результата F(Ei) находится в пределах допустимого отклонения , то есть выполняется следующее неравенство:

а для всех остальных Ei из подмножества , выполнение программы не дает приемлемого результата, то есть

Случаи, описанные неравенством (2.4), называются отказами программы.

Рассмотрим бинарную переменную :

Тогда статистическая оценка вероятности отказа программы в течении m прогонов будет равна: