编程标准与语言子集:从C到C++的安全与规范之路
在软件开发中,尤其是安全关键系统的开发,编码标准和语言子集的定义至关重要。它们不仅能提高代码的质量和可维护性,还能确保系统的安全性和可靠性。本文将探讨几个重要的编程标准和语言子集,包括JSF++、MISRA C++、ISO的软件漏洞标准,以及C的C’子集。
JSF++与规则文档扩展
现有规则的文档需要扩展,以确保涵盖规则的所有原因。这一点很重要,因为所有编码标准都认识到,项目可能会有需要偏离某些规则的情况。在这种情况下,项目必须能够证明在特定情况下安全偏离规则的合理性。为了构建这样的理由,必须理解规则最初存在的所有原因,以便能够论证所有相关方面都已被考虑。当前版本的JSF++已经纳入了这些更改。
MISRA C++的诞生与发展
虽然JSF++被证明适用于英国安全相关军事系统,但在2005年初,洛克希德·马丁公司认为它具有商业敏感性,将其保密。然而,JSF并不是唯一希望在安全相关系统中使用C++的项目,许多非实时、SIL1/2地面系统已经在开发中。因此,人们认为需要一个更公开可用且经过同行评审的编码标准。
2005年4月,在国防航空航天研究计划(DARP)会议上,作者们举办了为期一天的关于C++在航空电子系统中安全相关/安全关键应用的研讨会。研讨会的一个重要结论是需要“MISRA C++”。它将是一个类似于MISRA C的编码标准,有相关的基本原理,并能在多个领域得到开发者和认证者的认可。
随后,有人联系了航空电子软件标准委员会(ASSC),希望成立一个工作组来开发C++编码标准。ASSC是一个由英国国防部赞助的国防航空电子行业特殊利益集团,由ERA管理。这种结构有两个
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



