ГОСТ Р МЭК 61508-3—2012
0 контрольные примеры и их результаты для последующего анализа;
д) несоответствия между ожидаемыми и фактическими результатами.
7.4.4.8 Если свидетельство соответствия по 7.4.4.6 недоступно, то должны быть предприняты эф
фективные меры для управления отказами рассматриваемой системы, связанной с безопасностью,
которые являются следствием ошибок инструментального средства.
П р и м е ч ан и е — Примером такой меры является средство генерации разнообразного избыточного кода,
которое позволяет обнаружить и управлять отказами рассматриваемой системы, связанной с безопасностью, ко
торые произошли в ней из-за ошибок транслятора.
7.4.4.9 Должна быть проверена совместимость инструментальных средств в интегрированном
комплексе инструментальных средств.
П р и м е ч ан и е — Инструментальные средства интегрированы, если они работают совместно так, чтобы
выходы одного инструментального средства имели соответствующее содержание и формат для автоматической
передачи на вход кследующему инструментальному средству, минимизируя такимобразом возможность появления
ошибки человека при повторной обработке промежуточных результатов. См. В.3.5 приложения В МЭК 61508-7.
7.4.4.10 В той степени, в которой этого требует уровень полноты безопасности, выбранное пред
ставление программного обеспечения или проекта (включая язык программирования) должно;
a) иметь транслятор, оцененный для проверки его пригодности (если необходимо), включая под
тверждение соответствия требованиям национальных или международных стандартов;
b
) использовать свойства языка, определенные только для него;
c) соответствовать характеристикам применения;
d) обладать свойствами, облегчающими обнаружение ошибок при проектировании или програм
мировании;
е) поддерживать характеристики, соответствующие методу проектирования.
Примечания
1
Языки программирования являются классом программного обеспечения и используются для представ лений
проекта. Транслятор преобразует программное обеспечение или представление проекта (например, текст
или блок-схему) из одного уровня абстракции в другой уровень. Примерами трансляторов являются: инструменты
усовершенствования проекта, компиляторы, ассемблеры, компоновщики, редакторы связей, загрузчики и инстру
менты генерации кода.
2
Оценка транслятора может быть выполнена для конкретного проекта применения или класса применений.
В последнем случае вся необходимая информация об инструментальном средстве («спецификация или руковод
ство по инструментальному средству», см. 7.4.4.4). его назначении и надлежащем использовании должна
быть доступной пользователю инструментального средства. В таком случае оценка инструментального
средства для конкретного проекта может быть сокращена до проверки общей пригодности инструментального
средства для про екта и соответствия со «спецификацией или руководством по инструментальному средству»
(то есть оценивают правильное использование инструментального средства). Правильное использование
инструментального сред ства может включать в себя дополнительные действия по проверке в рамках
конкретного проекта.
3 Для того чтобы оценить пригодность транслятора для выполнения своей цели согласно заданным крите
риям. которые должны включать в себя функциональные и нефункциональные требования, может использоваться
процедура подтверждения соответствия (то есть набор тестовых программ, корректная трансляция которых из
вестна заранее). Основным методом подтверждения соответствия транслятора его функциональным требовани
ям может быть динамическое тестирование. По возможности должна использоваться автоматическая процедура
тестирования.
7.4.4.11 Если требования 7.4.4.10 не могут быть полностью выполнены, то необходимо обосно
вать пригодность языка для выполнения своей цели, а также использовать любые дополнительные
меры, направленные на устранение любых идентифицированных недостатков языка.
7.4.4.12 Языки программирования для разработки всего программного обеспечения, связанного
с безопасностью, должны использоваться в соответствии со стандартами составления программ для
таких языков.
П р и м е ч ан и е — Руководящие указания по использованию стандартов кодирования для программного
обеспечения системы безопасности см. в МЭК 61508-7.
7.4.4.13 Стандарты составления программ должны определять правильные методы программи
рования. запрещать использование небезопасных возможностей языка (например, неопределенных
особенностей языка, неструктурированных конструкций и т.п.), упрощать проверку и тестирование и
определять процедуры для документирования исходного текста. Документация, относящаяся к исход
ному тексту, должна содержать по меньшей мере следующую информацию:
25