MISRA C 应该从项目之初即采用。
如果一个项目是建立在经过验证且具有良好记录的现有代码的基础上的,那么使其符合 MISRA C 的工作所带来的好处可能会被其引入缺陷的风险所抵消。在这种情况下,应该分析可能获得的净收益,以判断是否采用 MISRA C。
MISRA C 旨在在文件化软件开发过程的框架内使用。虽然 MISRA C 可以单独使用,但在流程中使用以确保其他活动已正确执行时具有更大的好处,例如:
程序员应在将代码提交进行审查或单元测试之前使用 MISRA C。在生命周期后期检查 MISRA C 合规性的项目可能会花费大量时间重新编码、审查和测试。因此,在软件开发过程中,应尽可能早的使用 MISRA C 原则。
关于安全相关软件开发过程的详细讨论不在本文档的范围内。开发过程的示例可以在 IEC 61508:2010 b[32]、ISO 26262:2011[23]、DO-178C[24]、EN50128:2011[33]和 IEC 62304:2006[34]等标准和指南中找
到。本节的其余部分将处理 MISRA C 和软件开发过程之间的交互。
为使用 MISRA C,有必要指定并记录以下内容:
软件开发过程还应该记录为避免运行时错误而采取的步骤,并证明已经避免了这些错误。例如,它应该包含下面这些演示过程的描述并将其记录下来:
执行环境为程序提供了足够的资源,特别是处理时间和堆栈空间;