Сила 10: правила разработки кода, важного для безопасности - Википедия - The Power of 10: Rules for Developing Safety-Critical Code
Сила 10 правил были созданы в 2006 году Джерард Дж. Хольцманн из НАСА / Лаборатория реактивного движения Лаборатория надежного программного обеспечения.[1] Правила предназначены для устранения некоторых C методы кодирования, которые затрудняют просмотр или статический анализ кода. Эти правила являются дополнением к MISRA C руководящих принципов и были включены в большую часть JPL стандарты кодирования.[2]
Правила
Десять правил:[1]
- Избегайте сложных конструкций потока, таких как идти к и рекурсия.
- Все петли должны иметь фиксированные границы. Это предотвращает неконтролируемый код.
- Избегать выделение памяти в куче.
- Ограничьте функции одной печатной страницей.
- Используйте минимум два утверждения времени выполнения на функцию.
- Ограничьте объем данных до минимально возможного.
- Проверьте возвращаемое значение всех непустых функций или приведите к void, чтобы указать, что возвращаемое значение бесполезно.
- Использовать препроцессор скудно.
- Ограничить использование указателя одним разыменование, и не используйте указатели на функции.
- Скомпилируйте со всеми возможными активными предупреждениями; все предупреждения должны быть устранены до выпуска программного обеспечения.
Использует
Исследование НАСА Toyota электронное управление дроссельной заслонкой прошивка выявлено не менее 243 нарушений данных правил.[3][4]
Смотрите также
дальнейшее чтение
- G.J. Holzmann (19.06.2006). «Сила 10: правила разработки критически важных для безопасности кодексов». IEEE Computer. 39 (6): 95–99. Дои:10.1109 / MC.2006.212.
Рекомендации
- ^ а б Сила 10: правила разработки критически важных для безопасности кодов
- ^ Стандарт кодирования JPL C - Лаборатория надежного программного обеспечения JPL
- ^ Непреднамеренное ускорение и другие ошибки встроенного программного обеспечения, 1 марта 2011 г., Майкл Барр, Embedded Gurus
- ^ Отчет о технической оценке Центра инженерии и безопасности НАСА, Национальное управление безопасности дорожного движения Тойота, расследование непреднамеренного ускорения, Приложение A