Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Г
(справочное)
Методы оценки.
Вероятностный подход к определению полноты безопасности предварительно разработанных программных средств
Г.1 Общие положения
Настоящее приложение содержит исходные руководящие материалы по использованию вероятностного подхода к определению полноты безопасности ПО СБЗС-систем для предварительно разработанных программ на основе их опыта эксплуатации. Вероятностный подход является наиболее подходящим для оценки операционных систем, библиотечных компонентов, компиляторов и других программных систем. Настоящее приложение содержит также описание возможностей вероятностного подхода, однако его следует использовать только специалистам, компетентным в статистическом анализе.
Предложенные в настоящем приложении методы могут быть также использованы для демонстрации роста уровня полноты безопасности программных средств, которые некоторое время успешно эксплуатировались. Например, программные средства, созданные в соответствии с требованиями ГОСТ Р 53195.4 для SIL1, после соответствующего периода успешной работы в большом числе применений могут продемонстрировать соответствие уровню полноты безопасности SIL2.
Число запросов без отказов при испытании или число часов, необходимое для работы без отказов, для определения конкретного уровня полноты безопасности представлено в таблице Г.1. В таблице Г.1 также обобщены результаты, приведенные в Г.2.1 и Г.2.3 настоящего приложения.
Опыт эксплуатации может быть выражен математически, как показано в Г.2, для дополнения или замены статистического тестирования, а опыт эксплуатации, полученный из нескольких мест эксплуатации, может быть объединен путем добавления конкретного числа обработанных запросов или часов работы в течение эксплуатации, но только в случае, если:
- программная версия, подлежащая использованию в Е/Е/РЕ СБЗС-системе, будет идентична версии, для которой предъявлен результат опыта ее эксплуатации;
- их эксплуатационный профиль и входные условия схожи;
- существует эффективная система уведомлений и документирования отказов;
- справедливы принятые в Г.2 предположения.
Таблица Г.1 - Необходимая предыстория для определения уровня полноты безопасности
Уровень полноты безопасности |
Значение вероятности отказа при выполнении планируемых функций по запросу (режим работы с низкой интенсивностью запросов) |
Число реальных запросов |
Значение вероятности опасного отказа в час (режим с высокой интенсивностью запросов или непрерывным запросом) |
Общее число часов эксплуатации |
||
SIL 4 |
От включ. до |
4,6 х |
3 х |
От включ. до |
4,6 х |
3 х |
SIL 3 |
От включ. до |
4,6 х |
3 х |
От включ. до |
4,6 х |
3 х |
SIL 2 |
От включ. до |
4,6 х |
3 х |
От включ. до |
4,6 х |
3 х |
SIL 1 |
От включ. до |
4,6 х |
3 х |
От включ. до |
4,6 х |
3 х |
Примечания 1 Величина 1 - представляет собой уровень доверия. 2 Предпосылки и описание процедур получения числовых значений в настоящей таблице см. в Г.2.1 и Г.2.3 настоящего приложения. |
Г.2 Формулы статистического тестирования и примеры их использования
Г.2.1 Простой статистический тест для режима работы с низкой интенсивностью запросов
Г.2.1.1 Исходные предпосылки
Тест применим при следующих предпосылках:
- распределение тестовых данных равно распределению запросов при выполнении операций в режиме онлайн;
- прохождения тестов статистически не зависят друг от друга в отношении причины отказа;
- для обнаружения любых отказов, которые могут появиться, существует адекватный механизм;
- число тестовых примеров n > 100;
- во время прогона n тестовых примеров отказы отсутствуют.
Г.2.1.2 Результаты
Вероятность отказа р (на один запрос) при уровне доверия 1 - определяется из выражения
.
Пример
Таблица Г.2 - Вероятности отказа при режиме работы с низкой интенсивностью запросов
Значение уровня доверия 1 - |
Вероятность отказов p |
0,95 |
3/n |
0,99 |
4,6/n |
Для вероятности отказа при запросе для уровня полноты безопасности SIL3 при уровне доверия 95% применение указанной формулы дает 30 000 тестовых примеров при выполнении условий принятых предпосылок. Результаты для каждого уровня полноты безопасности объединены в таблице Г.1.
Г.2.2 Тестирование входного массива (предметной области) для режима работы с низкой интенсивностью запросов
Г.2.2.1 Исходные предпосылки
Единственная исходная предпосылка состоит в том, что тестируемые данные выбираются так, чтобы обеспечить случайное унифицированное распределение по входному массиву (предметной области).
Г.2.2.2 Результаты
Необходимо определить число тестов n, которые требуются, исходя из порога точности , входов для тестируемой функции с низкой интенсивностью запросов (например, безопасное отключение).
Таблица Г.3 - Средние расстояния между двумя точками тестирования
Размер предметного пространства |
Среднее расстояние между двумя точками тестирования в произвольном направлении |
1 |
= 1/n |
2 |
|
3 |
|
k |
|
Примечание - k может быть любым положительным целым числом. Значения 1, 2 и 3 приведены только в качестве примеров. |
Пример
Рассмотрим безопасное отключение, которое зависит только от переменных А и В. Если проверкой было установлено, что пороговые значения, которые разделяют входную пару переменных А и В, определены с точностью до 1% диапазона измерения А или В, то число равномерно распределенных тестовых примеров, требуемое в области А и В, будет равно
.
Г.2.3 Простой статистический тест для режима с высокой интенсивностью запросов или непрерывного режима работы
Г.2.3.1 Исходные предпосылки
Тест применим при следующих предпосылках:
- распределение тестовых данных такое же, как и распределение данных при выполнении операций в режиме с внешним управлением онлайн;
- относительное уменьшение вероятности отсутствия отказа пропорционально продолжительности рассматриваемого интервала времени и постоянно в противном случае;
- для обнаружения любых отказов, которые могут появиться, существует адекватный механизм;
- тест выполняется в течение времени тестирования t;
- во время тестирования t никаких отказов не происходит.
Г.2.3.2 Результаты
Соотношение между интенсивностью отказов , уровнем доверия 1 - и временем тестирования t имеет вид
.
Интенсивность отказов обратно пропорциональна среднему времени наработки на отказ (MTBF):
.
Примечание - В настоящем стандарте не делается различий между интенсивностью отказов в час и частотой отказов в час. Строго говоря, вероятность отказа F связана с частотой отказов f выражением , однако область применения настоящего стандарта охватывает частоту отказов менее 1/ч, а для небольших значений частоты справедливо .
Пример
Таблица Г.4 - Вероятности отказа для режима с высокой интенсивностью запросов или непрерывным запросом
Значение уровня доверия 1 - |
Вероятность отказов в час |
0,95 |
3 t |
0,99 |
4,6/t |
Для подтверждения того, что среднее время наработки на отказ составляет по меньшей мере час. с уровнем доверия 95%, требуется время тестирования ч и должны быть соблюдены исходные предпосылки. Число тестов, необходимое для каждого уровня полноты безопасности, - в соответствии с таблицей Г.1.
Г.2.4 Полное тестирование
Программу можно рассматривать как урну, содержащую N шаров. Каждый шар представляет собой конкретное свойство программы. Шары извлекаются случайно и заменяются после проверки. Полное тестирование достигается, если все шары извлечены.
Г.2.4.1 Исходные предпосылки
Тест применим при следующих предпосылках:
- распределение тестируемых данных таково, что каждое из N свойств программы тестируется с равной вероятностью;
- тесты проводятся независимо друг от друга;
- каждый появляющийся отказ обнаруживается;
- число случаев тестирования n >> N;
- во время n случаев тестирования отказы не появляются;
- каждый прогон теста контролирует одно свойство программы (свойство программы - это то, что может быть протестировано во время одного прогона теста).
Г.2.4.2 Результаты
Вероятность тестирования всех свойств программы р определяется выражением
или ,
где .
При оценке этого выражения обычно только первые его члены имеют значение, поскольку в реальных условиях выполняется соотношение n >> N, что делает все члены этого выражения при большом значении j несущественными. Это видно из таблицы Г.5.
Пример
Рассмотрим программу, которая имела несколько инсталляций в течение нескольких лет. За это время она выполнялась по меньшей мере раз. Предположим, что каждое 100-е выполнение программы соответствует перечисленным выше исходным предпосылкам (см. Г.2.4.1). Поэтому для статистической оценки могут быть приняты выполнений программы. Если предположить, что 4000 тестовых прогонов программы могут выполнить исчерпывающее тестирование, считая такую оценку консервативной, то в соответствии с таблицей Г.5 вероятность того, что не все будет протестировано, составляет .
При N = 4000 значения первых членов в зависимости от n представлены в таблице Г.5.
Таблица Г.5 - Вероятность тестирования всех свойств программы
Число случаев тестирования n |
Вероятность тестирования всех свойств программы p |
5 х |
1 - 1,9 х + 1,10 x -... |
7,5 х |
1 - 2,87 x + 4 x -... |
1 х |
1 - 5,54 х + 1,52 х -... |
2 х |
1 - 7,67 x + 2,9 x -... |
На практике такие оценки должны быть консервативными.
Более подробные сведения по оценке полноты безопасности ПО систем приведены в [88, 148, 249, 250].
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.