Литература:

Monte Carlo Methods. J. M. Hammersley, D. С Handscomb, Chapman & Hall, 1979.

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

D.1 Общие положения

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

Примечание - В настоящем приложении используется термин «уровень доверия», который описан в IEEE 352:1987. Эквивалентный термин «уровень значимости» приведен в [14].

Предложенные в настоящем приложении методы могут быть также использованы для демонстрации роста уровня полноты безопасности программных средств, которые некоторое время успешно эксплуатировались. Например, программные средства, созданные в соответствии с требованиями МЭК 61508-3 для SIL1, после соответствующего периода успешной работы в большом числе применений могут продемонстрировать соответствие уровню полноты безопасности SIL2.

Число запросов без отказов при испытании или число часов, необходимое для работы без отказов, для определения конкретного уровня полноты безопасности представлено в таблице D.1. В таблице D.1 также обобщены результаты, приведенные в D.2.1 и D.2.3.

Опыт эксплуатации может быть выражен математически, как показано в D.2, для дополнения или замены статистического тестирования, а опыт эксплуатации, полученный из нескольких мест эксплуатации, может быть объединен (путем добавления конкретного числа обработанных запросов или часов работы в течение эксплуатации), но только в случае, если:

- программная версия, подлежащая использованию в системе Е/Е/РЕ, связанной с безопасностью, будет идентична версии, для которой предъявлен результат опыта ее эксплуатации;

- эксплуатационный профиль входного пространства очень близок друг другу;

- существует эффективная система уведомлений и документирования отказов;

- справедливы принятые в D.2 предположения.

Таблица D.1 - Необходимая предыстория для определения уровня полноты безопасности

SIL

Режим работы с низкой интенсивностью запросов (вероятность отказа при выполнении планируемых функций по запросу)

Число реальных запросов

Режим с высокой интенсивностью запросов или непрерывный режим работы (вероятность опасного отказа в час)

Общее число часов эксплуатации

1 - α = 0,99

1 - α = 0,95

1 - α = 0,99

1 - α = 0,95

4

≥ 10-5 до < 10-4

4,6 × 105

3×105

≥ 10-9 до < 10-8

4,6 × 109

3 × 109

3

≥ 10-4 до < 10-3

4,6 × 104

3×104

≥ 10-8 до < 10-7

4,6 × 108

3 × 108

2

≥ 10-3 до < 10-2

4,6 × 103

3×103

≥ 10-7 до < 10-6

4,6 × 107

3 × 107

1

≥ 10-2 до < 10-1

4,6 × 102

3×102

≥ 10-6 до < 10-5

4,6 × 106

3 × 106

Примечания

1 Величина 1 - α представляет собой уровень доверия.

2 Предпосылки и описание процедур получения числовых значений в настоящей таблице см. в D.2.1 и D.2.3.

D.2 Формулы статистического тестирования и примеры их использования

D.2.1 Простой статистический тест для режима работы с низкой интенсивностью запросов

D.2.1.1 Исходные предпосылки

a) Распределение тестовых данных равно распределению запросов при выполнении операций в режиме «онлайн».

b) Прохождения тестов статистически не зависят друг от друга в отношении причины отказа.

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

d) Число тестовых примеров n > 100.

e) Во время прогона n тестовых примеров отказы отсутствуют.

D.2.1.2 Результаты

Вероятность отказа p (на один запрос) при уровне доверия 1- α определяется из выражения

D.2.1.3 Пример

Таблица D.2 - Вероятности отказа режима работы с низкой интенсивностью запросов

1 - α

p

0,95

3/п

0,99

4,6/n

Для вероятности отказа при запросе для уровня полноты безопасности SIL3 при 95 %-ном уровне доверия применение указанной формулы дает 30000 тестовых примеров при выполнении условий принятых предпосылок. Результаты для каждого уровня полноты безопасности объединены в таблице D.1.

D.2.2 Тестирование входного массива (предметной области) для режима работы с низкой интенсивностью запросов

D.2.2.1 Исходные предпосылки

Единственная исходная предпосылка состоит в том, что тестируемые данные выбираются так, чтобы обеспечить случайное унифицированное распределение по входному массиву (предметной области).

D.2.2.2 Результаты

Необходимо определить число тестов n, которые требуются, исходя из порога точности δ, входов для тестируемой функции с низкой интенсивностью запросов (например, безопасное отключение).

Таблица D.3 - Средние расстояния между двумя точками тестирования

Размер предметного пространства

Среднее расстояние между двумя точками тестирования в произвольном направлении

1

δ = 1/n

2

3

K

Примечание - K может быть любым положительным целым числом. Значения 1, 2 и 3 приведены только в качестве примеров.

D.2.2.3 Пример

Рассмотрим безопасное отключение, которое зависит только от двух переменных А и В. Если проверкой было установлено, что пороговые значения, которые разделяют входную пару переменных А и В, определены с точностью до 1 % от диапазона измерения А или В, то число равномерно распределенных тестовых примеров, требуемое в области А и В, будет равно

n = 1/δ2 = 104.

D.2.3 Простой статистический тест для режима с высокой интенсивностью запросов или непрерывного режима работы

D.2.3.1 Исходные предпосылки

a) Распределение данных такое же, как и распределение при выполнении операций в режиме «онлайн».

b) Относительное уменьшение вероятности отсутствия отказа пропорционально длительности рассматриваемого интервала времени и постоянно в противном случае.

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

d) Тест выполняется в течение времени тестирования t.

e) Во время тестирования t никаких отказов не происходит.

D.2.3.2 Результаты

Соотношение между интенсивностью отказов λ, уровнем доверия 1 - α и временем тестирования t имеет вид

Интенсивность отказов обратно пропорциональна среднему времени наработки на отказ:

Примечание - Настоящий стандарт не делает различий между интенсивностью отказов в час и частотой отказов в час. Строго говоря, вероятность отказа F связана с частотой отказов f выражением F = 1 - e-ft, однако область применения настоящего стандарта охватывает частоту отказов менее 10-5 1/ч, а для небольших значений частоты справедливо Fft.

D.2.3.3 Пример

Таблица D.4 - Вероятности отказа для режима с высокой интенсивностью запросов или непрерывного режима работы

1 - α

γ

0,95

3 t

0,99

4,6/t

Для подтверждения того, что среднее время наработки на отказ составляет, по меньшей мере, 108 ч с уровнем доверия 95 %, требуется время тестирования 3×108 ч и должны быть соблюдены исходные предпосылки. Число тестов, необходимое для каждого уровня полноты безопасности, - в соответствии с таблицей D.1.

D.2.4 Полное тестирование

Программу можно рассматривать как урну, содержащую N шаров. Каждый шар представляет собой конкретное свойство программы. Шары извлекаются случайно и заменяются после проверки. Полное тестирование достигается, если все шары извлечены.

D.2.4.1 Исходные предпосылки

a) Распределение тестируемых данных таково, что каждое из N свойств программы тестируется с равной вероятностью.

b) Тесты проводятся независимо друг от друга.

c) Каждый появляющийся отказ обнаруживается.

d) Число тестовых примеров n >> N.

e) Во время n тестовых примеров отказы не появляются.

f) Каждый прогон теста контролирует одно свойство программы (свойство программы - это то, что может быть протестировано во время одного прогона теста).

D.2.4.2 Результаты

Вероятность тестирования всех свойств программы p определяется выражением

где

При оценке этого выражения обычно только первые его члены имеют значение, поскольку в реальных условиях выполняется соотношение n >> N, что делает все члены этого выражения при большом j несущественными. Это видно из таблицы D.5.

D.2.4.3 Пример

Рассмотрим программу, которая имела несколько инсталляций в течение нескольких лет. За это время она выполнялась, по меньшей мере, 7,5×106 раз. Предположим, что каждое сотое выполнение программы соответствует перечисленным выше исходным предпосылкам (см. D.2.4.1). Поэтому для статистической оценки могут быть приняты 7,5×104 выполнений программы. Если предположить, что 4000 тестовых прохождений программы могут выполнить исчерпывающее тестирование, считая такую оценку консервативной, то в соответствии с таблицей D.5 вероятность того, что не все будет протестировано, составляет 2,87×10-5.

При N = 4000 значения первых членов в зависимости от n представлены в таблице D.5.

Таблица D.5 - Вероятность тестирования всех свойств программы

n

p

5 × 104

1 - 1,9 × 10-2 + 1,10×10-4-...

7,5 × 104

1 - 2,87 × 10-5 + 4×10-10-...

1 × 105

1 - 5,54 × 10-8 + 1,52×10-15-...

2 × 105

1 - 7,67 × 10-19 + 2,9×10-37-...

На практике такие оценки должны быть консервативными [14].

D.3 Литература

Более подробную информацию по указанным выше методам можно найти в IEEE 352:1987 и следующих документах:

Verification and Validation of Real-Time Software, Chapter 5. W. J. Quirk (ed.). Springer Verlag, 1985, ISBN 3-540-15102-8.

Combining Probabilistic and Deterministic Verification Efforts. W. D. Ehrenberger, SAFECOMP 92, Pergamon Press, ISBN 0-08-041893-7.

Ingenieurstatistik. Heinhold/Gaede, Oldenburg, 1972, ISBN 3-486-31743-1.

Приложение F
(справочное)
Сведения о соответствии ссылочных международных стандартов национальным стандартам Российской Федерации

Таблица F.1

Обозначение ссылочного международного стандарта

Обозначение и наименование соответствующего национального стандарта Российской Федерации

ИСО/МЭК Руководство 51:1999

ГОСТ Р 51898-2002 Аспекты безопасности. Правила включения в стандарты

МЭК Руководство 104:1997

*

МЭК 61508-1:1998

ГОСТ Р МЭК 61508-1-2006 (МЭК 61508-1-1998) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 1. Общие требования

МЭК 61508-2:2000

ГОСТ Р МЭК 61508-2-2007 (МЭК 61508-2-2000) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам

МЭК 61508-3:1998

ГОСТ Р МЭК 61508-3-2006 (МЭК 61508-3-1998) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 3. Требования к программному обеспечению

МЭК 61508-4:1998

ГОСТ Р МЭК 61508-4-2006 (МЭК 61508-4-1998) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 4. Термины и определения

МЭК 61508-5:1998

ГОСТ Р МЭК 61508-5-2006 (МЭК 61508-5-1998) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 5. Рекомендации по применению методов определения уровней полноты безопасности

МЭК 61508-6:2000

ГОСТ Р МЭК 61508-6-2007 (МЭК 61508-6-2000) Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 6. Руководство по применению МЭК 61508-2:2000 и МЭК 61508-3:1998

IEEE 352:1987

*

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