GHW-12Z 如何通过提升代码质量,加速完成项目的功能安全认证
2023年8月17日FSA80 让代码分析成为日常工作流程的一部分
2023年8月17日标准需要代码分析
几乎每一个功能安全标准都需要您对您的代码进行静态分析,并且强烈建议您对您的代码进行运时(或动态)分析。这些标准中影响最广的是IEC 61508,涵盖了一般与安全相关的系统。在该标准的C.4.2这一节中,对于安全完整性等级(SIL)1以上的产品,不建议使用没有消除模棱两可和危险行为的编码标准的C语言。
换句话说,如果您想为您的产品获得SIL 2-4等级的认证,您必须使用静态分析来让您的代码更加稳固。这是为什么呢?这些静态分析工具可以迫使开发者实施诸如MISRA的编码标准。此外,静态和运时分析可以帮助您提高代码质量,快速指出您何时的编码行为是有风险的,特别是存在上述编码标准中模棱两可的情况。
然而,当您使用这类自动化工具时,也会对您的认证时间线产生巨大影响。许多组织使用难以配置、难用的代码分析工具,这些工具在构建服务器上运行,作为每日构建的一部分。这对您的帮助并不是很大,因为个体开发者并没有得到即时的反馈,他们并不知道自己刚刚写的代码有什么问题。此外,有时这些工具发出的警告信息是难以理解的,开发者们要弄清楚是什么意思,以及怎样修正代码才能让警告消失,这浪费了他们的时间。
换句话说,安全性认证不是要突出项目的优点(高性能),而是要尽量找出项目的弱点(漏洞),所以要尽可能地选用被最大量开发人员群体验证过的开发工具,或者是“见多识广”的开发工具系统。全球有超过15万开发人员在使用IAR提供的IAR Embedded Workbench开发工具来完成其各种嵌入式项目,通过与其中许多“高手”开发人员沟通发现:如果您能在开发过程中进行代码分析–在正式构建之前–那么漏洞就像是从来没有过一样。您项目的漏洞会比较低,这正是认证机构想要的,因为这意味着您有一个非常成熟的开发组织。