Показатели надежности программного обеспечения

 

Все множество различных показателей надежности ПО можно разделить на две группы:

- количественные показатели надежности ПО;

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

Остановимся более подробно на рассмотрении количественных показателей надежности ПО.

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

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

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

Для невосстанавливаемых в ходе эксплуатации программ обобщенной характеристикой безотказности является ВБР ПО, характеризующая вероятность того, что за время отказа не произойдет

,

Интенсивность отказов и среднее время наработки до отказа (среднее время безотказной работы) ПО определяют по формулам:

;

.

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

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

Один из способов оценки – наблюдение за поведением программы в определённый временной период. Тогда величину среднего времени между отказами (сбоями) ПО можно определить так

,

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

,

где – время непрерывного прогона при безошибочной работе ПО;

– время прогона до появления ошибки ПО;

– общее количество прогонов ПО;

– количество прогонов ПО без ошибок.

Полагая количество ошибок постоянным, можно вычислить приведенные интенсивность отказов и среднее время между отказами ПО :

;

,

где – количество прогонов ПО с ошибками ( ).

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

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

,

где – среднее число отказов за время .

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

.

Для программ, время корректировки которых сравнимо с временем между отказами, обобщающей характеристикой безотказности является функция готовности , которая характеризует вероятность застать программное изделие в заданный момент времени в работоспособном состоянии.

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

Показатель устойчивости - это показатель безотказности, но с использованием условных вероятностей. Условием, при котором вычисляются вероятности, является отказ (сбой) в программе или аппаратуре. Для невосстанавливаемых (некорректируемых) программ обобщенным показателем устойчивости служит условная вероятность безотказной работы

,

где – вероятность ошибки (сбоя) программы или отказа аппаратуры.

Показатели ремонтопригодности ПО характеризуют приспособленность ПО к поиску и устранению ошибок и внесению в него изменений в процессе эксплуатации. Для ПО данные показатели называют показателями корректируемости ПО. Они используются для характеристики восстанавливаемых в ходе эксплуатации программ, к ним относятся:

– вероятность корректировки за заданное время;

– среднее время корректировки ПО;

– параметр потока корректировок.

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

В зависимости от условий применения ПО можно выделить три режима (типа) его работы:

1) программа не корректируется, и любой отказ является полным, т.е. после отказа ПО не восстанавливается. Основные показатели надежности для этого режима работы программ - безотказность, устойчивость и защищенность.

2) программа не корректируется, однако после отказа ПО система продолжает функционировать нормально. Основные показатели надежности - безотказность, устойчивость, защищённость и долговечность.

3) после каждого отказа ПО корректируется, отлаживается и только после этого снова продолжается ее эксплуатация. Основные показатели надёжности - безотказность, устойчивость, корректируемость, защищенность.