Некоторые общие замечания по стратегии и тактике обеспечения надежности
и безопасности различных видов программного обеспечения
Приведенный выше краткий обзор системного и прикладного ПО для ИС и
специфических встроенных систем позволяет высказать некоторые замечания по поводу
стратегии и тактики расчета, прогнозирования и оценивания функциональной надежности
программных средств.
Функциональная надежность ПО не может моделироваться с помощью
детерминированных моделей. Это
принципиально важно, поскольку, несмотря на
систематический характер ошибок в тексте программы, их
проявление в процессе
исполнения программы носит случайный характер вследствие случайного характера набора
входных данных, случайного выбора ветви программы, случайного характера заявок на
выполнение программы и др.
Для исследования функциональной надежности как системного, так и прикладного
ПО, включая программы встроенных систем, наряду с
вероятностными моделями
8
Kafura, D. The Use of Software Complexity Metrics in Software Maintenance / D. Kafura, G. Reddy // IEEE
Transactions on Software Engineering. – 1987. – March.
перспективно применение моделей, построенных с помощью математических методов
нечетких множеств и интервальных средних. Последние типы моделей особенно
перспективны при неполной и/или недостоверной информации.
Стратегия испытаний всех видов программных
средств состоит в том, чтобы
подавляющий объем испытаний проводился автономно от инструментальной среды. Это
особенно характерно для процессов верификации отдельных программ и программных
модулей. На завершающем (интеграционном) этапе должна проводиться валидация
программно-аппаратных комплексов.
Наиболее реальный метод испытаний
функциональной надежности и
функциональной безопасности программных средств встроенных систем — метод
ускоренных натурных испытаний на основе внесения искажений в промежуточные
результаты выполнения информационных процессов и внесения «помех» на входы
составных цифровых устройств в реальном масштабе времени при условии доказательства
подобия результатов ускоренных испытаний практическим данным.
Для повышения эффективности оценивания
функциональной надежности
программных средств следует сочетать результаты их испытаний с расширенным аудитом
выполнения в проверяемых программных средствах требований соответствующих
стандартов в отношении архитектуры этих программных средств, использованных языков
программирования, способов обнаружения ошибок и диагностирования, примененных
методов верификации и валидации и др.
Заключение
При испытаниях функциональной безопасности
программных средств следует
установить типовую номенклатуру и метрики функциональной безопасности ПО, модели
оценивания ПО, методы тестирования и экспертизы модификаций ПО. Цель испытаний при
этом состоит в оценке соответствия ПО требованиям функциональной безопасности
согласно установленному для данного объекта испытаний уровню полноты безопасности
9
.
Контрольные вопросы
Смотри руководство по организации самостоятельной работы магистрантов.
9
Смотри Лекцию 10