Основные виды корректности комплексов программ
Схема взаимодействия компонент, определяющих обнаруживаемые отклонения программ от эталонов
Методы получения эталонных значений
Типы эталонов и методы проверки корректности программ
Блок- схема системы верификации программных модулей 56. Надежность программных средств. Показатели надежности ПС. Факторы, определяющие надежность ПС. Надежность программного обеспечения - свойство программы выполнять заданные функции, сохранять свои характеристики в установленных пределах при определенных условиях эксплуатации. Надежность программного обеспечения определяется его безотказностью и восстанавливаемостью. Безотказность программного обеспечения или программы – свойство программы сохранять работоспособность при использовании в процессе обработки информации. Безотказность программного обеспечения можно оценить вероятностью его работы без отказов при определенных условиях внешней среды в течение заданного периода наблюдения. В данном определении под отказом программного обеспечения понимается недопустимое отклонение характеристик процесса функционирования программы от требуемых. Определенные условия внешней среды понимаются как совокупность входных данных и состояния вычислительной системы. Заданный период наблюдения, как правило, соответствует необходимому для выполнения программы. Безотказность программного обеспечения можно также характеризовать средним временем между возникновениями отказов в процессе функционирования программы. При этом предполагается, что аппаратура информационной системы находится полностью в работоспособном состоянии. С точки зрения надежности принципиальное отличие программного обеспечения от аппаратуры состоит в том, что программное обеспечение не изнашивается и его выход из строя из-за поломки невозможен. Поэтому характеристики функционирования программного обеспечения зависят только от его качества. В значительной степени на функционирование программного обеспечения влияют входные данные. Так проявление ошибок программного обеспечения связано с тем, что в некоторые моменты времени на обработку поступают ранее не встречавшиеся совокупности данных, которые программа не в состоянии корректно обработать. На рис.1 показана зависимость, отражающая изменение во времени надежности программы. Рисунок 1. Изменение надежности программы во времени
Увеличение надежности программы является следствием того, что в процессе эксплуатации обнаруживаются и устраняются скрытые ошибки. Правда, при этом могут возникать так называемые ошибки второго рода, связанные с внесением новых ошибок в процессе устранения старых. Важной характеристикой надежности программного обеспечения является его восстанавливаемость, которая определяется затратами времени и труда на устранение отказа из-за проявившейся ошибки в программе и его последствий. Восстановление после отказа в программе может заключаться в корректировке и восстановлении текста программы, исправлении данных, внесения изменений в организацию вычислительного процесса. Восстанавливаемость программного обеспечения может быть оценена средней продолжительностью устранения ошибки в программе и восстановления ее работоспособности. Восстанавливаемость программного обеспечения зависит от многих факторов, в том числе от сложности структуры комплекса программ, структурированности самих программ, языка программирования, на котором разрабатывалась программа, стиля программирования, качества документации на программу и т.д. Можно также говорить об устойчивости функционирования программного обеспечения. Устойчивость функционирования – способность программы ограничивать последствия собственных отказов и неблагоприятных воздействий внешней среды (неисправность аппаратуры, некорректность входных данных, ошибки оператора) или противостоять им. Устойчивость программного обеспечения может быть повышена с помощью разных форм структурной, информационной и временной избыточности (дублирующие модули программ, альтернативные программы для решения одних и тех же задач, контроль за процессом исполнения программы).
Основными показателями надежности ПО являются: · вероятность безотказной работы программы p(t), представляющая собой вероятность того, что ошибки программы не проявятся в интервале времени (0, t); · вероятность отказа программы q(t) или вероятность события отказа ПО до момента времени t; · интенсивность отказов программы l(t); · средняя наработка программы на отказ T, являющаяся математическим ожиданием временного интервала между последовательными отказами. При определении характеристик надежности ПО учитывается тот факт, что возникающие при работе программ ошибки устраняются, количество ошибок уменьшается и, следовательно, их интенсивность понижается, а наработка на отказ программы увеличивается. В связи с такими предположениями рассматривается несколько моделей надежности ПО: модель с дискретно-понижающей частотой появления ошибок, модель с дискретным увеличением наработки на отказ или ошибку ПО, экспоненциальная модель надежности ПО.
|