头图
本文来源perforce.com,由Perforce中国授权合作伙伴、DevSecOps解决方案提供商-龙智翻译整理。

2025年3月,嵌入式开发领域迎来重要更新——MISRA C:2025®正式发布!作为Perforce中国授权合作伙伴,龙智一直密切关注、及时分享这一关键标准的演进,助力企业构建更安全、可靠的嵌入式系统。

本文,我们将带您了解:MISRA C:2025有何重要变化?对于依赖MISRA®标准开发安全关键型系统的企业来说,新版本意味着什么?如何通过静态分析工具(如Perforce QAC、Klocwork)快速实现合规?

MISRA C:2025概述

2025年3月,MISRA C:2025在德国纽伦堡举办的Embedded World大会中正式发布。与前版MISRA C:2023相比,MISRA C:2025的实质性更新较少,但它基于MISRA C:2023的高效框架,引入了重要的政策调整、增强功能和新准则,进一步简化了开发可靠、稳健的安全关键型代码的流程。

MISRA C:2023涵盖哪些内容?

MISRA C软件开发指南旨在确保使用C语言编写的软件安全可靠。这些指南为开发者提供了一系列需要遵循的规则和指令,并允许开发者使用工具(如Perforce的静态分析工具Perforce QACKlocwork)来帮助检测任何违规行为。

在MISRA C:2025发布之前,MISRA C:2023是最后一个主要版本,共包含221条准则,涵盖C90、C99和C11/C18。

MISRA C:2025更多是对现有指南的增量升级,但它为支持下一版C语言标准和开发环境的更新奠定了基础。MISRA C:2025仍涵盖C90、C99和C11/C18,同时对现有准则进行了合理优化和重组,以保持连续性,同时也增加了新的准则,使现行准则总数达到225条。

MISRA C:2025采用了较新的滚动发布开发模式,取代了独立的修订文档形式,以便开发者能够更好地与文档及其迭代进行交互。

MISRA C:2025有哪些变化?

新增规则

MISRA C:2025新增了5条指南。其中一条较为有趣的新规则是Rule 19.3,它通过将“一致使用某个变体成员”与更严格的“禁止更改活动成员(可能有安全风险)”区分开来,放宽了对联合体(union)的使用限制。这条规则原本是一个全面的限制,但现在对于常规“安全”的用法,仅作为建议性规则。

MISRA C:2025还包括其他新规则,例如关于声明的规则,以及从基本类型系统中提取指针的规则,以使其更加连贯。

规则调整

对一些现有规则进行了扩展。例如,指针转换规则(Rule 11.3、11.4、11.6)现在考虑到了”intptr_t “类型,为处理整数和地址的整数表示提供了更多可能性。在之前的版本中,地址操作是全面禁止的,而这种操作对于一些低级系统功能(如指针标记)来说是必不可少的。

规则重组

MISRA C:2025对部分准则进行了重组,将规则归入到更适合的类别中,并重新调整了规则和指令之间的定位。这一重组工作为下一版本的扩展奠定了坚实基础。

引入“已删除”和“不适用”规则

这是首次在新版发布中引入“已删除”和“不适用”规则。

已删除的规则编号在后续版本中不会被重新启用。因此,当检测工具针对旧版本代码提示”违反Rule 21.2″时(该规则已被重新编号并从当前版本中删除),这个警告将特指MSIRA C:2023标准中原来的Rule 21.2含义,不会与其他规则产生歧义。

这是一个重要的里程碑,因为MISRA现在认识到,随着分析技术和审查理念的发展,并非所有的历史规则都具有价值。(例如,备受争议的Rule 15.5在MISRA C:2025中被停用)。

新的”不适用”类别还允许用户在必要时重新启用该规则。

使用Perforce QAC/ Klocwork实现MISRA合规性

MISRA一直在不断审查C和C++语言的规则和指南。虽然每个版本的设计都旨在让代码更安全、更可靠,但开发人员仍然需要了解这些规则,检查代码是否违规,并持续监控代码以确保符合MISRA标准。

选择合适的静态代码分析工具可以加速实现MISRA合规。Perforce静态分析工具QAC(原Helix QAC)和Klocwork能够自动扫描代码,发现违规行为,并立即识别不合规的代码,从而在代码投入生产前修复违规代码。

Perforce QAC还具有新的合规性模块,完全涵盖MISRA C:2025,帮助您轻松满足并记录 MISRA C:2025的合规性。


即刻咨询Perforce中国授权合作伙伴、DevSecOps解决方案提供商-龙智,申请QAC MISRA C:2025合规性模块的应用演示,或免费试用Perforce QAC与Klocwork。

官网:www.shdsd.com

电话:400-666-7732

邮箱:marketing@shdsd.com


龙智DevSecOps
6 声望3 粉丝

分享DevSecOps解决方案最新动态,帮助您学习与使用Atlassian, Perforce, Mend(原Whitesource), Cloudbees, TESSY, Jama Software及龙智自研产品,实现软件研发的高度协同与自动化,提高交付效率与质量,并确保...