Программное обеспечение не ломается, однако подвержено систематическим ошибкам, поэтому компонентам программного обеспечения или программным модулям можно доверять только в том случае, если они уже проверены на практике на соответствие требуемому уровню интегральной безопасности. В особенности для комплексных компонент системы с многочисленными функциями (например, операционные системы), необходимо знать, какие из этих функций действительно были проверены на практике.
Если для определения отказов оборудования предусмотрена процедура самотестирования, но отказы оборудования не имитировались в процессе пуско-наладки, и не отрабатывались во время эксплуатации, то никто не может утверждать, что функции обнаружения неисправностей проверены на практике.
Для исключения необходимости расширенной перепроверки или перепроектирования системных программных модулей при каждом новом применении, должны быть выполнены нижеследующие требования, которые позволят удостовериться, что программные модули и компоненты оборудования свободны от систематических ошибок конструкции и/или от оперативных отказов. Для проверки программного обеспечения стандарты IEC 61508 (часть 7, С.2.10) и IEC 61511 (часть 4) требуют:
Для проверки того, что компонент или модуль программного обеспечения отвечает всем этим критериям, следующие позиции должны быть документированы (must be documented):