0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MISRA C:2025新标准解析:新增规则、优化点与静态代码分析工具支持(Perforce QAC、Klocwork)

龙智DevSecOps 2025-05-08 17:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源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 QAC 和Klocwork)来帮助检测任何违规行为。

在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。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20655

    浏览量

    336974
  • 嵌入式开发
    +关注

    关注

    18

    文章

    1170

    浏览量

    50223
  • 代码分析
    +关注

    关注

    0

    文章

    13

    浏览量

    5971
  • Klocwork
    +关注

    关注

    0

    文章

    10

    浏览量

    7852
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Perforce 静态分析现已正式支持 Rust语言!

    您是否正计划通过 Rust 编程来提升内存安全性,却又担心它无法覆盖所有的安全漏洞?Perforce QACKlocwork 现在已支持分析
    的头像 发表于 04-08 15:38 442次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>静态</b><b class='flag-5'>分析</b>现已正式<b class='flag-5'>支持</b> Rust语言!

    深度解析:主流功能安全标准(ISO 26262/IEC 61508)及其软件合规全流程

    合作伙伴,龙智(Dragonsoft)为您解读如何通过 QAC 静态分析Perforce ALM 满足功能安全合规要求。
    的头像 发表于 03-10 16:48 615次阅读
    深度<b class='flag-5'>解析</b>:主流功能安全<b class='flag-5'>标准</b>(ISO 26262/IEC 61508)及其软件合规全流程

    C语言安全编码指南:MISRA C、CERT C、CWE 与 C Secure 标准对比与Perforce QAC应用详解

    如何编写真正安全的C语言代码?指南涵盖MISRA C、CERT、CWE等国际安全编码标准对比,以及如何借助
    的头像 发表于 01-26 17:38 1092次阅读
    <b class='flag-5'>C</b>语言安全编码指南:<b class='flag-5'>MISRA</b> <b class='flag-5'>C</b>、CERT <b class='flag-5'>C</b>、CWE 与 <b class='flag-5'>C</b> Secure <b class='flag-5'>标准</b>对比与<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>应用详解

    Perforce QAC 2025.4 的新特性

    Perforce QAC 2025.4 提供了一个新的最小化安装包,以简化 CI/CD 环境的部署,并包含分析改进,例如扩展了针对 Windows API 的动态内存分析。Visual
    的头像 发表于 12-30 13:50 715次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.4 的新特性

    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持

    汽车网络安全如何选编程语言?CC++、Rust、Java……谁更适合AUTOSAR、ISO/SAE 21434?一文了解8种主流语言的优劣与适用场景,以及Perforce QAC/
    的头像 发表于 12-26 11:13 657次阅读
    汽车网络安全开发语言选型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++/Rust/Java等主流语言对比+<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>/<b class='flag-5'>Klocwork</b><b class='flag-5'>工具</b><b class='flag-5'>支持</b>

    【征集令】2026年全球汽车软件开发状况调查,500美金等你拿!

    、应用程序生命周期管理平台、敏捷规划软件以及用于静态代码分析KlocworkQAC等。Perforc
    的头像 发表于 11-12 10:02 837次阅读
    【征集令】2026年全球汽车软件开发状况调查,500美金等你拿!

    什么是CVE?如何通过SAST/静态分析工具Perforce QACKlocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce
    的头像 发表于 10-31 14:24 723次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 和 <b class='flag-5'>Klocwork</b>应对CVE?

    C/C++代码静态测试工具Perforce QAC 2025.3的新特性

     Perforce Validate 中 QAC 项目的相对/根路径的支持C++ 分析也得到了增强,增加了用于检测
    的头像 发表于 10-13 18:11 732次阅读
    <b class='flag-5'>C</b>/<b class='flag-5'>C</b>++<b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试<b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.3的新特性

    车企工具链落地指南:Perforce P4、QAC/Klocwork工具部署与龙智一站式服务

    从试用验证到部署、培训,再到长期的运维护航,龙智致力于为车企客户提供全生命周期的技术服务与支持,让Perforce产品以及DevSecOps工具链真正落地生根,创造价值!
    的头像 发表于 09-19 11:01 1067次阅读
    车企<b class='flag-5'>工具</b>链落地指南:<b class='flag-5'>Perforce</b> P4、<b class='flag-5'>QAC</b>/<b class='flag-5'>Klocwork</b>等<b class='flag-5'>工具</b>部署与龙智一站式服务

    Perforce QAC 2025.2版本更新:虚拟内存优化、100%覆盖CERT C规则、CI构建性能提升等

    【产品更新】Perforce QAC更新至2025.2版本,安装路径和许可证都有变化!重点:虚拟内存占用降低、100%覆盖CERT C规则C
    的头像 发表于 09-09 14:40 816次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.2版本更新:虚拟内存<b class='flag-5'>优化</b>、100%覆盖CERT <b class='flag-5'>C</b><b class='flag-5'>规则</b>、CI构建性能提升等

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析Perforce QAC
    的头像 发表于 08-07 17:33 1317次阅读
    汽车软件团队必看:基于<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>的ISO 26262合规实践

    汽车软件开发必看:Perforce工具链助力高效开发与功能安全的最佳实践

    无论是主机厂还是供应商,ISO 26262合规都是绕不开的课题。冗长的流程、复杂的标准是否让您的团队疲于应对?Perforce一体化工具链正是破解这一难题的钥匙!从静态
    的头像 发表于 08-01 10:49 1206次阅读
    汽车软件开发必看:<b class='flag-5'>Perforce</b><b class='flag-5'>工具</b>链助力高效开发与功能安全的最佳实践

    Perforce QAC产品简介:面向C/C++的静态代码分析工具(已通过SO 26262认证)

    Perforce QAC专为C/C++开发者打造,支持多种编码规范、功能安全标准(ISO 262
    的头像 发表于 07-10 15:57 1453次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>产品简介:面向<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++的<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>(已通过SO 26262认证)

    2025年汽车行业趋势解读:AI在汽车软件开发中的应用、代码安全挑战等(附Perforce QAC / Klocwork工具推荐)

    随着AI技术深入嵌入式系统,汽车软件已成为智能出行的核心要素。根据Perforce发布的《2025年汽车软件开发现状报告》,全球650多名汽车从业者共同揭示了AI在汽车行业的演进趋势、挑战与应对策略。
    的头像 发表于 06-13 15:03 1741次阅读
    <b class='flag-5'>2025</b>年汽车行业趋势解读:AI在汽车软件开发中的应用、<b class='flag-5'>代码</b>安全挑战等(附<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> / <b class='flag-5'>Klocwork</b><b class='flag-5'>工具</b>推荐)

    Helix QAC 2025.1 重磅发布!MISRA C:2025® 100%覆盖

    和服务器存储占用。  编码规范支持MISRA C:2025®、CERT C)    MISRA
    的头像 发表于 05-13 16:48 1598次阅读
    Helix <b class='flag-5'>QAC</b> 2025.1 重磅发布!<b class='flag-5'>MISRA</b> <b class='flag-5'>C</b>:<b class='flag-5'>2025</b>® 100%覆盖