Требуются ли для DO-178C квалифицированные исполнители?
В тексте DO 178C «инструменты разработки» и «инструменты проверки» должны быть квалифицированы. Компилятор - это, безусловно, инструмент разработки. Но при поиске «компиляторов C, отвечающих требованиям DO 178C» я не нашел компилятора для языка C. Вместо этого в некоторых статьях говорилось, что «DO 178C не требует квалификации исполнителей». Может кто-нибудь помочь объяснить, почему?
2 ответа
Квалификация инструмента дополнительно определена в стандарте DO-330 (Требования к квалификации программного обеспечения). Согласно DO-330 инструмент должен быть аттестован, если выполняются следующие три условия.
- производительность инструмента, необходимая для соответствия требованиям стандарта DO-178 / DO-254 / DO-278.
- инструмент может вставить ошибку в SW / HW или не обнаружить существующую ошибку в SW / HW.
- выходные данные инструмента не подлежат проверке или подтверждению другими действиями по проверке.
Итак, если нет проверки вывода компилятора, компилятор должен быть квалифицирован.
Насколько я понимаю, чистый язык C не рекомендуется для разработки любого критически важного для безопасности программного обеспечения, поэтому обычный компилятор C не может быть квалифицирован. Подмножество C (например, MISRA-C) потенциально может быть квалифицировано.
В тексте DO 178C инструменты разработки и инструменты проверки должны пройти аттестацию.
Пояснение: эти инструменты должны быть квалифицированы, если их результаты не проверяются иным образом на какой-либо другой части процесса. В проектах, над которыми я работал, компилятор обычно неквалифицирован. Однако его выходные данные считаются проверенными, поскольку все проверочные тесты выполняются на основе выходных данных компилятора (т. е. скомпилированного/связанного исполняемого программного обеспечения).