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

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

3天内不再提示

MISRA合规性的五个实用技巧

的撒的 来源:发烧友520 作者:发烧友520 2022-07-22 08:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数十种工具旨在告诉您您的 C 或 C++ 代码是否违反 MISRA 规则。但是,虽然识别和解决分析工具标记的违规行为对于单个开发人员来说可能是一项重大挑战,但它仅代表整个开发团队合规流程的一部分。

事实上,让许多人感到惊讶的是,MISRA C:2012 文档在定义指南之前就包含了六章指南!

回过头来对违规行为进行详细分析,很容易看到关于整个过程的更大问题。MISRA 的文档“MISRA 合规性:2016”比语言子集本身受到的新闻报道要少得多,但它对于了解您选择的静态分析工具突出显示的信息如何与 MISRA 合规应用程序的大局相关联非常宝贵。

很容易误解 MISRA 合规性的性质,并假设最小化的违规计数可确保优化的应用程序安全性。但要有效,MISRA 指南需要在一个框架内应用,该框架利用合规代码的优势并管理任何必要的偏差,以使合规概念具有可信度。

MISRA 合规性:2016 文档长达 33 页,像这样的短文无法触及它讨论的所有内容。但是,它可以让我们深入了解合规项目的外观。这些提示源自 MISRA 合规性文件本身概述的原则,它们反映了一点技术智慧和很多常识。

提示 1. MISRA 合规性需要记录在案的软件开发过程

MISRA 指南旨在用于正式软件开发过程的框架内(如图 1 所示)。这样的过程将确保完整、明确和正确的软件需求,并且所有且仅这些需求都反映在开发生命周期的每个阶段创建的人工制品中。

图 1:结构化开发生命周期对于 MISRA 合规性至关重要,如 LDRA 工具套件的 TBmanager 组件中的“Uniview”所示。(来源:LDRA)

如果您的代码没有违反规定但没有满足其要求的功能,那么它仍然是糟糕的代码。

提示 2. 并非所有 MISRA 指南都可以通过分析工具进行检查

MISRA C:2012 指南引入了一个系统,在该系统下,每条指南都被分类为规则或指令。

通常,规则定义得足够好,可以通过自动化工具进行检查,而指令可能更主观一些。例如,MISRA C:2012 的指令 1.1 要求“程序输出所依赖的任何实现定义的行为都应记录并理解”。

在 MISRA C:2012 中,一些规则被标记为“不可判定”,这意味着基本上不可能有一种方法可以确定是否存在违规行为。工具可能会警告潜在的问题,也可能不会。无论哪种方式,都需要某种程度的人工干预。

并非所有工具都相同。有些人会声称对规则的覆盖范围比其他人多,而有些人则无法进行更微妙的侵权。显示“无违规”的工具可能实际上是在说“没有违规,除了我没有发现的那些”。

牛津词典对“工具”的定义是“用来帮助完成工作的东西”。工具有帮助——它们不会为你完成这项工作。

提示 3. 指南只有在有执行计划时才有用

对于大多数指南,最简单、最可靠和最具成本效益的实施方式是使用静态分析工具、编译器或两者的组合(参见图 2)。

图 2:使用 LDRA 静态分析工具强制遵守 MISRA C:2012(来源:LDRA)

对于这些指南,重要的是要确保要使用的工具已被证明是合适的,并且它的类型和版本是指定和固定的。

对于那些需要手动验证的指南,还必须制定执行计划。

提示 4. “偏差”不是一个肮脏的词

对于任何现实生活中的嵌入式应用程序,很可能一些违规行为是不可避免的。如果对由此产生的应用程序的任何合规性声明是可信的,则必须通过明确定义的流程授权管理这些违规行为,并由适当的“偏差记录”文档支持。

这些偏差记录需要包括违反的准则、这种/这些违反的理由、偏差适用的情况以及它在代码库中的应用位置。

Tip 5. 采用的代码不能被忽略

与功能安全的嵌入式软件相关的许多文档和许多标准都是从“绿地”项目的假设开始的。在现实生活中,开发人员需要利用内部遗留代码或第三方代码,例如设备驱动程序、数学库或图形库。

尽管将 MISRA 准则追溯应用于此类代码显然是不切实际的,但要声称符合 MISRA,重要的是要确保这种所谓的“采用的代码”不会损害整个系统的安全性。

许多根据 ISO 26262、IEC 61508 和 DO-178C 等标准开发的功能安全系统都利用 MISRA 语言子集,这并非巧合,而且很容易假设 MISRA 合规性仅适用于这些环境。

但那将是谬误。同样真实的是,除了语言子集本身的指导方针之外,在 MISRA 合规之前要满足的许多基本要求可以合理地归结为一种常识方法,以及对“正确行事”的奉献精神。这不能是关键系统社区的专属特权,因为系统在有动力可靠地工作之前不必是关键的。

审核编辑:郭婷

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

    关注

    22

    文章

    2122

    浏览量

    76706
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    长城汽车通过管理体系国际认证

    2025年11月21日,英国标准协会(BSI)在保定为长城汽车隆重举行国际标准ISO 37301管理体系认证证书颁发仪式。本次认证覆盖长城汽车研发、制造、采购与销售全业务流程,涵盖出口管制
    的头像 发表于 11-25 09:41 232次阅读

    RFID技术对冷链物流温控的价值贡献

    冷链物流的本质是信任,是其核心保障。RFID技术为温控提供了实时、透明度和可追溯
    的头像 发表于 10-25 11:04 650次阅读

    是德科技推出HDMI 2.2物理层测试解决方案

    是德科技(NYSE: KEYS )宣布推出高清晰度多媒体接口 HDMI 2.2 物理层测试解决方案,为发射器(源)和线缆设备提供强大的
    的头像 发表于 09-01 17:33 1689次阅读
    是德科技推出HDMI 2.2物理层<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>测试解决方案

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

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

    汽车电子开发必备:基于Perforce ALM的ISO 26262认证指南

    功能安全无小事,必须零误差!了解加速ISO 26262的7步骤,以及如何借助Perforce ALM让您的
    的头像 发表于 08-01 10:56 1060次阅读
    汽车电子开发必备:基于Perforce ALM的ISO 26262<b class='flag-5'>合</b><b class='flag-5'>规</b>认证指南

    电商API:确保数据隐私与法规遵守

      在当今数字化电商时代,API(应用程序编程接口)作为连接平台、商家和用户的核心枢纽,处理着海量敏感数据,如用户个人信息、交易记录和行为偏好。然而,随着全球数据隐私法规的日益严格,电商API的
    的头像 发表于 07-16 10:40 219次阅读
    电商API<b class='flag-5'>合</b><b class='flag-5'>规</b><b class='flag-5'>性</b>:确保数据隐私与法规遵守

    二手 ABB 电路板 / 板卡选购全指南:从兼容的核心考量

    本文聚焦二手 ABB 电路板 / 板卡选购,系统阐述从兼容的核心考量因素,涵盖硬件、软件兼容及认证资质、行业标准
    的头像 发表于 06-11 09:57 520次阅读

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

    Helix QAC 2025.1新增功能 Helix QAC 2025.1实现了对新版MISRA C:2025®标准的 100% 覆盖,并提供对应的规模块。此版本还扩展了对 CERT C
    的头像 发表于 05-13 16:48 1114次阅读
    Helix QAC 2025.1 重磅发布!<b class='flag-5'>MISRA</b> C:2025® 100%覆盖

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

    MISRA C:2025®发布!新增5条规则,并对部分现有规则进行了扩展、重组,以进一步简化安全关键型系统的开发流程。如何实现最新MISRA
    的头像 发表于 05-08 17:58 1853次阅读
    <b class='flag-5'>MISRA</b> C:2025新标准解析:新增规则、优化点与静态代码分析工具支持(Perforce QAC、Klocwork)

    EMC电磁兼容摸底检测测试整改:如何助产品上市

    南柯电子|EMC电磁兼容摸底检测测试整改:如何助产品上市
    的头像 发表于 04-27 11:33 576次阅读

    显示器EMC电磁兼容测试整改:测试到的指南

    深圳南柯电子|显示器EMC电磁兼容测试整改:测试到的指南
    的头像 发表于 04-15 11:18 1158次阅读
    显示器EMC电磁兼容<b class='flag-5'>性</b>测试整改:测试到<b class='flag-5'>合</b><b class='flag-5'>规</b>的指南

    智能测量时代:电流探头的化应用与技术选型指南

    电流探头作为电子测试和测量领域的关键工具,广泛应用于电力、通信、汽车、航空航天等行业。为了确保测量结果的准确和可靠,选择的电流探头至关重要。本文将详细解读电流探头的行业标准,并
    的头像 发表于 04-10 10:00 638次阅读
    智能测量时代:电流探头的<b class='flag-5'>合</b><b class='flag-5'>规</b>化应用与技术选型指南

    安全检测 高效 | 经纬恒润重磅推出PeneTrix渗透测试平台

    在汽车智能化进程加速的今天,汽车电子控制系统(ECU)开发与信息安全验证正面临三重挑战:法规更新频繁、威胁场景日益复杂、传统渗透测试流程耗时费力。面对这些难题,经纬恒润基于多年的研发经验与技术
    的头像 发表于 03-17 17:04 1040次阅读
    安全检测 高效<b class='flag-5'>合</b><b class='flag-5'>规</b> | 经纬恒润重磅推出PeneTrix渗透测试平台

    澜起科技CXL®内存扩展控制器芯片通过CXL 2.0测试

    近日,澜起科技在CXL(Compute Express Link)技术领域取得了又一重要里程碑。其自主研发的CXL®内存扩展控制器(MXC)芯片成功通过了CXL 2.0测试,并被列入CXL联盟
    的头像 发表于 01-21 14:44 1474次阅读

    澜起科技MXC芯片列入首批CXL 2.0供应商清单

    近日,澜起科技研发的CXL内存扩展控制器(MXC)芯片成功通过了CXL 2.0测试,列入CXL联盟公布的首批CXL 2.0供应商清
    的头像 发表于 01-21 10:32 965次阅读
    澜起科技MXC芯片列入首批CXL 2.0<b class='flag-5'>合</b><b class='flag-5'>规</b>供应商清单