Моделювання оцінки надійності програмного забезпечення - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Моделювання оцінки надійності програмного забезпечення - страница №1/1

Моделювання оцінки надійності програмного забезпечення

Разработано несколько подходов к классификации моделей надежности. Эти подходы в целом основываются на истории ошибок в проверяемой и тестируемой ПО. Существует несксколько классификаций моделей надежности:



  • Классификация Хетча -- предлагает разделение моделей на: прогнозирующие,

  • Измерительные

  • и оценочные.

  • Классификации моделей Гоэла - модели надежности базируются на отказах и разбиваются на такие классы моделей:

  • без подсчета ошибок,

  • с подсчетом отказов,

  • с подсевом ошибок,

  • модели с выбором областей входных значений

Таким образом, классификация моделей роста надежности относительно процесса выявления отказов, фактически разделена на две группы:

модели, которые рассматривают количество отказов как Марковский процесс;

модели, которые рассматривают интенсивность отказов как Пуассоновский процесс.

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

Рассматрим модель надежности, которая обеспечивают рост надежности ПО (модель роста надежности ), она применяется на этапе тестирования и описывает процесс обнаружения отказов при таких предположениях:
– все ошибки в ПО не зависят друг от друга с точки зрения локализации отказов;

– интенсивность отказов пропорциональна текущему числу ошибок в ПО (т.е. убывает при тестировании ПО);

– вероятность локализации отказов остается постоянной;

– локализованные ошибки устраняются до того, как тестирование будет продолжено;

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

Исходные данные этой модели:

m – число обнаруженных отказов за время тестирования,

Xi – интервалы времени между отказами,

Т – продолжительность тестирования.

Функция среднего числа отказов, обнаруженных к моменту t имеет вид:

m ( t) = а (1 – e –bt ) , (1)

можно сказать, что эта формула задает функцию ошибок

где b – интенсивность обнаружения отказов, иначе говоря задает скорость обнаружения ошибок. Параметр a- общее количество ошибок

Так по виду функции функция m ( t) эта модель относится к выпуклым, что означает, что количество обнаруженных ошибок уменьшается равномерно с ростом объема тестирования( и количества исправленных ошибок).

Суть этой модели в том,, что число ошибок, обнаруженных в интервале dt, пропорционально числу оставшихся ошибок, считается , что общее число ошибок конечно и равно a. Такм образом получаем дифференциальное уравнение

m' (t)=ab−bm(t) (2)

Решением этого диф. уравнения является выпуклая функция m ( t) как видно из (1).

Вид этой кривой показан на рис



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

В моделях роста надежности исходной информацией для расчета надежности являются интервалы времени между отказами тестируемой программы, число отказов и время, для которого определяется надежность программы при отказе. На основании этой информации по модели можно определить такие показатели надежности:

– вероятность безотказной работы;

– среднее время до следующего отказа;

– число необнаруженных отказов (ошибок);



– среднее время для дополнительного тестирования программы.
В нашей работе мы решаем диф. ур. (2) методами Эйлера и Рунге-Кутта по итерационным формулам строим таблицы в ЕХСЕ и два графика, кроме того строим точное решение по формуле (1) выводим это все на одни оси координат и проводим анализ.

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