Задание
Выполнить исследование показателей надежности программ, характеризуемых моделью обнаружения ошибок Джелинского-Моранды для различных законов распределения времени между соседними отказами и различного числа используемых для анализа данных. Для проведения исследования требуется:
Сгенерировать массивы данных {Хi}, где Xi - длительность интервала времени между обнаружением (i-1)-ой и i –ой ошибок ( i=[1,30] ), в соответствии с:
равномерным законом распределения в интервале [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» можно получить по значениям случайной величины X, равномерно распределенной в интервале [0,1], по формуле [1]: Y = -ln(X) / 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 с релеевским законом распределения с параметром «с» можно получить по значениям случайной величины X, равномерно распределенной в интервале [0,1], по формуле [1]: Y = с * sqrt(-2*ln(X)).
Для каждого из 3-х массивов {Хi} оценить значение первоначального числа ошибок в программе B. При этом для каждого закона использовать 100%, 80% и 60% входных данных (то есть в массивах {Хi} использовать n= 30, 24 и 18 элементов). Кроме того, если B>n, оценить значения средних времен Xj , j=n+1,n+2…, n+k до обнаружения k<= 5 следующих ошибок.
Сравнить и объяснить результаты, полученные для различных законов распределения времени между соседними отказами и различного числа используемых для анализа данных.
Теоретические сведения
Модели, разработанные для этапов проектирования и производства, имеют важное значение. Они позволяют оценить ряд свойств ПО в условиях значительной неопределенности и ограниченности информации. При функционировании систем и их ПО поступает достоверная информация о проявлении дефектов ПО. Поэтому усилия исследователей направлены на математическое описание потоков ошибок систем, происходящих по вине ПО. Реализации этих потоков характеризуют важнейшее свойство систем на этапе эксплуатации - их надежность. Поток ошибок (отказов) систем по вине дефектов ПО с учетом особенностей ПО, как объекта исследования, имеет следующие свойства:
имеет только одну реализацию,
является случайным и нестационарным,
обладает тенденцией к редению.
Исходя из этих свойств, можно утверждать, что ПО относится к типу объектов, улучшающих с течением времени свое качество (молодеющих систем), или объектов с самообучением. Некоторые положения теории с самообучением могут быть использованы для разработки моделей ПО на этапе эксплуатации.
Пусть необходимо описать закономерность появления событий потока, удовлетворяющего перечисленным выше свойствам. Предварительно выдвигается гипотеза о виде закона распределения длительностей между смежными событиями. Полагается, что закон распределения один и тот же для всех интервалов времени, но параметры этого закона изменяются с увеличением номера события, таким образом, чтобы выполнялось третье свойство потока. Далее, при совместном рассмотрении интервалов между смежными событиями находятся оценки величин, входящих в выражения для параметров распределения. Такой подход оказался достаточно плодотворным. Модели могут различаться видом закона распределения интервалов между смежными событиями, а также принятыми допущениями при моделировании.
Рассмотрим основные допущения, используемые при моделировании ПО на этапе эксплуатации.
Любой отказ системы по вине ПО обусловлен только одним дефектом ПО.
Отыскание дефекта, приведшего к отказу системы, и его устранение осуществляется мгновенно.
В процессе устранения дефекта в ПО не вносится новый дефект.
Закон распределения длительностей интервалов между смежными отказами известен.
Параметры закона распределения интервалов изменяются при каждом выявлении дефекта таким образом, чтобы улучшалось качество ПО.
Модели потоков ошибок ПО достаточно подробно описаны в ряде источников. Поэтому рассмотрим методику построения модели ПО на примере одной из наиболее простых моделей данного типа. Построение модели включает:
построение модели потока событий,
получение в терминах модели выражений для показателей качества ПО,
расчет показателей с использованием реальных статистических данных о функционировании ПО в составе системы,
проверка адекватности модели реальным процессам функционирования системы.