Надежность АСОИУ (1088455), страница 15
Текст из файла (страница 15)
е. допускает большое влияние субъективного фактора.Модель Липова. Липов модифицировал модель Миллса, рассмотрев вероятность обнаружения ошибки прииспользовании различного числа тестов. Если сделать то же предположение, что и в модели Миллса, т. е. чтособственные и внесенные ошибки имеют равную вероятность быть найденными, то вероятность обнаружения n собственных и Vвнесенных ошибок может быть определена с помощью соотношенияNS nV m n +Vm = n −VQ (n, V ) = ,q (1 − q )( N + S ) (n + V )n +V где т — количество тестов, используемых при тестировании; q— вероятность обнаружения ошибки в каждом из ттестов, рассчитанная по формуле; S- общее количество внесенных ошибок; N— количество собственных ошибок,имеющихся в программе до начала тестирования.Для использования модели Липова должны выполняться следующие условия:N ≥ n ≥ 0;S ≥ V ≥ 0;m ≥ n + V ≥ 0.Оценки максимального правдоподобия (наиболее вероятное значение) для N осуществляются с помощьюсоотношений Sn V _ при _ n ≥ 1, V ≥ 0;N = nS _ при _ V = 0;0 _ при _ n = 0.Модель Липова дополняет модель Миллса, позволяя оценить вероятность обнаружения определенного количестваошибок к моменту оценки.Модель Коркорэна относится к статическим моделям надежности ПО, так как в ней не используются параметрывремени тестирования, а учитывается только результат N испытаний, в которых выявлено Ni ошибок i-гo типа.Применение модели предполагает знание следующих ее показателей:• модель содержит изменяющуюся вероятность отказов для различных источников ошибок и соответственноразную вероятность их исправления;• в модели используются такие параметры, как результат N испытаний, в которых наблюдается Ni ошибок г-готипа;• обнаруженные в ходе ^испытаний ошибки г-го типа появляются с вероятностью аiПоказатель уровня надежности R вычисляют по формулеk Y ( N − 1)N0R=+∑ i i,N i =1Nгде N0 — число безотказных (или безуспешных) испытаний, выполненных в серии из ^испытаний; к— известноечисло типов ошибок; Y— вероятность появления ошибок: при N > 0 Yi = a i при N=0, У>0.Отметим, что в данной модели вероятность a i оценивается на основании априорной информации или данныхпредшествующего периода функционирования однотипных программных средств.44Модель Нельсона создана в аэрокосмической компании США TRW.
При расчете надежности программноинформационного обеспечения учитывается вероятность выбора определенного тестового набора для очередноговыполнения программы.Для описания модели вводятся следующие обозначения.Совокупность действий, включающая ввод Еi выполнение программы и получение результата F'(E), называетсяпрогоном программы. При этом значения входных переменных, образующих Ei не должны одновременно подаваться навход программ. Таким образом, вероятность (P) того, что прогон программы приведет к обнаружению дефекта, равнавероятности того, что набор данных Ei используемый в прогоне, принадлежит множеству Ei.P = ne N ,Если обозначить через пе число различных наборов входных данных, содержащихся в Е.
то есть вероятность того,что прогон программы на наборе входных данных Ei случайно выбранном из E среди равновероятных, закончитсяобнаружением дефекта.Однако в процессе функционирования программы выбор входных данных из E обычно осуществляется не содинаковыми априорными вероятностями, а диктуется определенными условиями работы. Эти условия характеризуютсянекоторым распределением вероятностей (р) того, каким будет выбран определенный набор входных данных EiРаспределение P может быть найдено через р. с помощью величины у., которая принимает значение О, если прогонпрограммы на наборе £ заканчивается получением приемлемого результата, и значение 1, если этот прогонзаканчивается обнаружением дефекта. ПоэтомуNP = ∑ pi yi ,i =1есть вероятность того, что прогон программы на наборе входных данных Ei, выбранных случайно сраспределением вероятностей рi, закончится обнаружением дефекта.R = 1 − P,При этом есть вероятность того, что прогон программы на наборе входных данных Ei выбранных случайно сраспределением вероятностей рi, приведет к получению приемлемого результата.Так как R - вероятность того, что единичный прогон программы не закончится отказом на наборе входных данных,выбранных в соответствии с распределением рi то вероятность успешного выполнения n прогонов этой программы принезависимом для каждого прогона выборе входных данных в соответствии с распределением Р будет равнаR(n) = R = (1 − P ) n .Таким образом, можно дать следующее математическое определение надежности программы: надежностьпрограммы - это вероятность безотказного выполнения n прогонов программы.
Поэтому прогон является единичнымиспытанием программы.На практике выбор входных данных для каждого прогона нельзя считать независимым. Исключение составляютлишь такие последовательности прогонов, которые определяются возрастающими значениями некоторой входнойпеременной или некоторым порядком установленных процедур, как в случае программ, работающих в реальноммасштабе времени.С учетом введенного определения функциональный разрез должен быть переопределен в терминах вероятностей рвыбора £ в качестве входных данных при j-м прогоне и з некоторой последовательности прогонов. Тогда вероятностьтого, что j-й прогон закончится отказом, может быть записана в видеNPi = ∑ p ji y i .i =145Надежность R(n) программы равна вероятности того, что в последовательности из η прогонов ни один из них незакончится отказом:nR(n) = (1 − P1 )(1 − P2 )...(1 − Pn ) = ∏ (1 − Pj ).j =1Эта формула может быть представлена в видеn∑ ln(1− P j )R(n) = e j =1.Некоторые свойства функции R(n) могут стать более явными при следующих допущениях:n∑ pjj =1;для Pj ≤ 1, R (n) = eесли Рj = P для всех j, то R(n) = e − Pn .С помощью соответствующих замен переменных и подстановок можно выразить функцию R(п) через времяфункционирования tОбозначим через ∆t время выполнения j- гo прогона, а через Σ∆ti - суммарное время выполненияпервых j прогонов программы.
Введем h ( t )h(t j ) = −ln(1 − Pj )∆t j.В случае Pj ≤ 1 функция h(tj) может быть интерпретирована как функция интенсивности отказов, которая, будучиумноженной, на ∆t дает условную вероятность появления отказов в интервале (tj, tj+ tj) при отсутствии отказов домомента tjТогдаnR ( n) = e− ∑ ∆t j h ( t j )j =1.На практике вероятность выбора очередного набора данных для прогона ( P i ) определяется путем разбиения всегомножества значений входных данных на подмножества и нахождения вероятностей того, что выбранный для очередногопрогона набор данных будет принадлежать конкретному подмножеству. Определение этих вероятностей основано наэмпирической оценке вероятности появления тех или иных входов в реальных условиях функционирования.Поскольку в основу модели Нельсона положены свойства программного обеспечения, она допускает развитие засчет более детального описания других аспектов надежности.
Некоторые из полученных обобщений модели могутрассматриваться в контексте исследования проблемы безопасности программ. Вследствие отмеченных особенностеймодели ее можно рассматривать в целом как математическую теорию надежности программного и информационногообеспечения, а не как простую модель надежности.Эмпирические модели надежностиЭмпирические модели в основном базируются на структурном анализе особенностей программы или программногообеспечения в целом. Они часто не дают конкретных значений параметров надежности программы.
Однако ихиспользование считается полезным на этапе проектирования программ для прогнозирования ресурсов тестирования ит.д.Модель сложности. В литературе неоднократно подчеркивается тесная взаимосвязь между сложностью инадежностью ПО. Если придерживаться упрощенного понимания сложности ПО, то она может быть описана такимихарактеристиками, как размер ПО (количество программных модулей), количество и сложность межмодульных интерфейсов и т. д.46Под программным модулем в данном случае понимается программная единица, выполняющая определеннуюфункцию (ввод, вывод, вычисление и т. д.) и взаимосвязанная с другими модулями ПО.
Сложность модуля ПО можетбыть описана, если рассматривать структуру программы как последовательность узлов, дуг и петель в виде направленного графа.Некоторые базовые понятия для определения характеристик сложности даны в табл.