Глава 16.1. Сравнительные характеристики программных и аппаратурных отказов
Программные отказы изделия и аппаратурные отказы имеют много общего, но во многом существенно различаются. Общее между ними:
а) невыполнение объектом заданных функций;
б) времена до отказов и времена устранения отказов носят случайный характер;
в) методы обработки статистических данных об отказах одинаковы, а потому статистические оценки показателей надёжности аппаратурной и программной, полученные по результатам испытаний и эксплуатации, могут быть одинаковыми по своему названию: средняя наработка объекта на программный отказ, интенсивность программных отказов объекта и т. д. Возможны и объединённые (комплексные) оценки: средняя наработка объекта на программный и аппаратурный отказ и т. п.
Вместе с тем отказы программные существенно отличаются от отказов аппаратурных:
а) отказ аппаратурный зависит либо от времени, либо от объёма выполненной работы, а отказ программный - от той функции, которую выполняет изделие под управлением программы (точнее, от того, с какой вероятностью программа выйдет на такой участок, который содержит ошибку);
б) обнаружение и устранение аппаратурного отказа (заменой отказавшего элемента исправным) не означает, что такой же отказ не повторится при дальнейшей работе изделия, а обнаружение и устранение отказа программного (исправление программы) означает, что такой отказ в дальнейшем не повторится;
в) программный отказ, обнаруживаемый при автономной проверке программы, может переходить в разряд недействующих, если состояние аппаратуры делает её нечувствительной к данному виду программного отказа. Например, если в программе ошибочно не предусмотрена программная защита от аппаратурного сбоя, то это программный отказ, но если при этом в аппаратуре не возникает сбоя, то отказ программный становится недействующим;
г) прогнозировать возникновение аппаратурных отказов сравнительно легко, а прогнозировать возникновение отдельных программных отказов трудно, а часто и невозможно. Для отдельных программных отказов трудно предвидеть время, когда они становятся действующими, а когда - недействующими;
д) аппаратурные отказы целесообразно подразделять на внезапные и постепенные, т. е. отказы, различные по своей физической природе, законам распределения времени до отказа, методам борьбы за снижение их вероятности. Программные отказы нет смысла делить на внезапные и постепенные. Они возникают внезапно, как только программа переходит на такой участок, который содержит “ошибку”. В то же время они по природе своей не совпадают с внезапными аппаратурными отказами. Вероятность их возникновения не связана с продолжительностью работы изделия, а связана с условной вероятностью того, что программа содержит ошибку в данной части программы, и вероятностью того, что изделие будет работать под управлением этой части программы.
16.2 Проверка и испытания программ.
Испытания программ на надёжность и испытания изделий на надёжность их программного обеспечения - обязательные этапы при проверке надёжности систем.
Испытания с целью проверки надёжности программ осуществляются с помощью специальных программ (тестирование) и специальных (имитационных) стендов. Проверяется при этом степень отработанности программы и её соответствие заданным требованиям.
Испытания с целью проверки надёжности изделий, работающих под управлением программ, осуществляются при совместной работе программы и изделия. Проверяются при этом и степень отработанности программы в соответствии с заданными требованиями, и корректность этих требований, и согласованность взаимодействий программы и аппаратуры.
Степень отработанности программы может проверяться различными методами. Чем выше требование к достоверности проверки, тем более сложен метод проверки.
Рассмотрим один из наиболее простых методов. В процессе проверки “корректности” программы (с помощью наблюдений за работой либо изделия, либо имитирующего устройства, либо на специальном стенде с помощью тестов) фиксируются времена обнаружения ошибок в программе. Результаты проверки обрабатываются при следующих предположениях: 1) ошибки программы независимы. Каждый раз после обнаружения они устраняются и в дальнейшем не проявляются. 2) интенсивность ошибок уменьшается по мере их обнаружения и устранения.
Статистическая интенсивность программных l ошибок определяется так же как интенсивность аппаратных отказов по формуле:
Где n(t) - число идентичных программ, не отказавших к моменту времени t; Dn(t) - число отказавших идентичных программ на интервале (t, t + Dt).
Выявление и устранение ошибок производится до тех пор, пока значение будет меньше заданного значения. Заданное значение назначается с учётом требований к надёжности изделия. Ориентировочно можно исходить из того, что интенсивность программных ошибок, приводящих к отказу, на этапе отладочных испытаний должна быть не больше интенсивности аппаратурных отказов.
Положение о том, что при создании программного обеспечения больших систем возможно возникновение ошибок и что выявление программных ошибок - чрезвычайно трудная задача, не только не должно обезоруживать разработчиков систем, а наоборот, должно ориентировать их на максимальное сосредоточение сил для ликвидации программных отказов.
Влияние программных ошибок на надёжность изделия должно непрерывно уменьшаться с каждым новым этапом освоения программ (разработка - отладка - опытная эксплуатация - нормальная эксплуатация) так, чтобы на этапе нормальной эксплуатации объекта программная надёжность его была на уровне заданных требований.
< Предыдущая | Следующая > |
---|