Напоминание

Исследование надежности программного обеспечения на примере модели Миллса


Автор: Мельник Алина Александровна
Должность: студент
Учебное заведение: Технологический институт (филиал) ДГТУ в г. Азове
Населённый пункт: город Азов,Ростовская область
Наименование материала: Научная статья
Тема: Исследование надежности программного обеспечения на примере модели Миллса
Раздел: высшее образование





Назад




Исследование надежности программного обеспечения на примере

модели Миллса

Способность

программного

продукта

безотказно

выполнять

определенные функции при заданных условиях в течение заданного периода

времени с достаточно большой вероятностью называется надежность

программного обеспечения.

Степень

надежности

характеризуется

вероятностью

работы

программного продукта без отказа в течение определенного периода

времени.

Способ оценки количества ошибок в программном коде, был создан в

1972 году программистом Харланом Миллсом. Он получил широкое

распространение

благодаря

своей

простоте

и

интуитивной

привлекательности.

Использование

этой

модели

предполагает

необходимость

перед

началом

тестирования

искусственно

вносить

в

программу

некоторое

количество известных ошибок. Ошибки вносятся случайным образом и

фиксируются в протоколе искусственных ошибок. Специалист, проводящий

тестирование, не знает ни количества, ни характера внесенных ошибок до

момента оценки показателей надежности по модели Миллса. Предполагается,

что все ошибки, как естественные, так и искусственно внесенные, имеют

равную вероятность быть найденными в процессе тестирования.

Тестируя программу в течение некоторого времени и отсортировывая

собственные и внесенные ошибки, можно оценить первоначальное число

собственных ошибок S в программе.

Будем утверждать, что в программе

имеется не более k собственных ошибок. Для проверки этой гипотезы внесем

в программу еще S ошибок. Протестируем программу до тех пор, пока не

будут

обнаружены

все

внесенные

ошибки,

причем

в

этот

момент

подсчитывается число обнаруженных собственных ошибок.

Предположим, что в программу преднамеренно внесли (посеяли) 10

ошибок. В результате тестирования обнаружено 12 ошибок, из которых 10

ошибок

были

внесены

преднамеренно.

Все

обнаруженные

ошибки

исправлены. До начала тестирования предполагалось, что программа

содержит не более 4 ошибок. Оценим количество ошибок до начала

тестирования и степень надежности (отлаженности) программы.

Для оценки количества ошибок до начала тестирования используем

формулу (1). Нам известно:

количество внесенных в программу ошибок S = 10;

количество обнаруженных ошибок из числа внесенных V =10;

количество «собственных» ошибок в программе n = 12 - 10 = 2.

Подставив

указанные

значения

в

формулу

1,

получим

оценку

количества ошибок:

N

=

S

n

V

(1)

10

2

10

=

2

Таким образом, из результатов тестирования следует, что до начала

тестирования в программе имелось 2 ошибки.

Для оценки отлаженности программы используем формулу (2).

С

=

(

1, если n

>

K

S

S

+

K

+

1

, если n ≤ K

)

(2)

Если число обнаруженных собственных ошибок оказалось больше

числа предполагаемых, то С=1, то есть гипотеза не верна.

Если число обнаруженных собственных ошибок оказалось меньше или

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

формуле 3

С

=

S

S

+

K

+

1

(3)

Чем больше число предполагаемых ошибок по сравнению с числом

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

Нам известно:

количество обнаруженных «собственных» ошибок в программе n

= 2;

количество предполагаемых ошибок в программе K= 4;

количество преднамеренно внесенных и обнаруженных ошибок

S= 10.

Очевидно, что обнаружено меньшее число «собственных» ошибок, чем

количество предполагаемых ошибок в программе (n<K).

Степень надежности (отлаженности) программы равна 0,67, что

составляет 67%.

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

так как абсолютная степень надежности не может быть теоретически

доказана и, следовательно, недостижима. Однако важно знать, насколько

надежно

конкретное

программное

обеспечение.

Описанная

модель

представляют теоретический подход и, как правило, имеют ограниченное

применение.

До

сих

пор

не

предложено

ни

одного

надежного

количественного метода оценки надежности программного обеспечения, не

содержащего чрезмерного количества ограничений.



В раздел образования