构建嵌入式软件应用程序的任务已经充满了挑战,然后随着IoT的引入,现在一切似乎都与Internet建立了连接-同时增加了系统的复杂性和安全漏洞的风险。为了帮助缓解这些挑战,许多人都遵循MISRA指南。
构建嵌入式软件应用程序的任务已经充满了挑战,然后随着IoT的引入,现在一切似乎都与Internet建立了连接–同时增加了系统的复杂性和安全漏洞的风险。为了帮助缓解这些挑战,许多人都遵循MISRA指南。
汽车工业软件可靠性协会(MISRA)“在关键系统中使用C语言的准则”(称为MISRA C 2012)是对C语言子集的定义,旨在最小化潜在的错误,安全漏洞和错误。导致程序失败或严重错误。尽管最初是为汽车系统创建的,但该指南已被许多其他行业采用,用于安全关键型应用。在所有情况下,确定合规性(在供应商/客户关系中越来越需要)是复杂且耗时的。
市场上有许多工具会 告错误,这些错误指示什么时候代码违反了准则,但是很少有工具可以简化证明合规性所需的 告和文档编制过程–不必在软件开发过程中实施准则。为了简化在整个产品生命周期中实现,记录和维护MISRA合规性的整个过程,我们设计了 告和分析平台(Parasoft DTP),以带来自动化和帮助,以及我们的C和C++测试工具C/C++test。在这篇文章中,我想我会更好地解释如何一起使用这些工具,以使MISRA合规性减轻很多麻烦。
艰难的合规之路
符合性是一种二进制状态–代码符合性或不符合性,并且MISRA准则要求所有代码都符合标准中规定的指令和规则。因此,要在一个大型复杂项目中实现完全合规并非易事。除了挑战之外,许多供应商/客户关系还要求通过文档证明对标准的遵守。
为了更好地阐明实施MISRA编码准则的程序,MISRA在2016年发布了合规性指南,以帮助开发组织实现并记录合规性。为了通过自动化简化此过程,需要满足以下条件:
-
高水平,实时的总体项目状态视图,以确保合规性进入开发过程
自动创建满足MISRA合规性指南(例如MISRA合规性:2016)的 告,以减轻生成支持文档的负担
快速简单的工作流程可调查违规情况并确定补救措施的优先级,以简化使项目“步入正轨”以确保合规的过程
考虑到这些准则,我们设计了 告和分析平台(DTP),以自定义和扩展C/C++test的部署,提供智能分析功能,以使利益相关者对测试范围和变更带来的风险有更深入的了解。对于MISRA标准,DTP简化了实现,强制实施和记录法规遵从性的过程,同时证明了功能,性能和安全性。
MISRA合规仪表板
项目的合规性现状是一个重要的指标,衡量合规性的各个方面也很重要。DTP提供了一个全面的MISRA合规性仪表板,可以对项目进行现场评估。对于管理人员和开发人员而言,这种高级视图都非常重要,使管理人员一目了然地可以轻松访问合规性视图,并为开发人员提供了实现合规性,为工作进行优先排序的起点。
图1:DTP的MISRA合规性仪表板示例。
MISRA合规包
除了MISRA合规性仪表板之外,Parasoft还提供了一个完整的合规性套件,专门解决了MISRA的合规性文档要求。MISRA DTP法规遵从性工具包根据MISRA Compliance:2016准则提供自动化文档,从而大大减少了证明向认证机构合规所需的时间和精力。这些包括:
准则执行计划
MISRA准则执行计划演示了如何验证每个MISRA准则。在大多数情况下,这显示了MISRA指令或规则与关联的代码分析规则或DTP函数之间的链接。请参阅以下示例:
图2:DTP的MISRA指南执行计划 告的示例。
指南重新分类计划
MISRA指南重新分类计划用于传达作为指南的商定重要性,作为供应商/客户关系的一部分。该文档演示了如何针对当前项目对每条指南进行专门分类。强制性和必需的准则不能降级到较低的水平;但是,项目可能会决定将所需的指导准则或咨询准则升级到更严格的设置,并且咨询可能会不适用(即,不需要遵从该准则)。请参阅下面的重新分类计划示例:
图3:DTP的MISRA重新分类计划 告的示例。
偏差 告
MISRA偏差 告以合理的理由记录了偏离准则的情况。每当检测到规则违例但允许其继续存在时,必须将其记录在偏差 告中。在大多数情况下,这些是从代码分析 告的抑制的错误。 告示例如下所示:
图4:DTP的MISRA偏差 告示例
准则合规性摘要
合规性摘要是总体项目合规性的主要记录。该 告记录了每个准则的遵守状况,以及任何相关的偏差或重新分类。一个例子如下所示:

图5:DTP的MISRA合规 告示例
遵守法规
在大多数情况下,在分析源代码中是否符合MISRA标准时,违规就是静态分析规则违规。在一个大型项目中,最初会 告许多错误,因此快速有效地管理它们至关重要。DTP违规资源管理器是导航、评估、确定优先级并分配 告的错误进行修复的关键工具。如果发现违反静态分析规则是有效但合理的,被认为是无害的,或者不适用,则开发人员可以抑制该错误,并可以记录偏差。这些偏差会在项目的每个级别上 告给仪表板和合规性文档。下面显示了违规浏览器的示例:

图6:DTP的违规资源管理器正在调查示例违规情况。
执法,合规和可追溯性
总而言之,在开发对安全至关重要的软件时,MISRA标准提供了一套全面的准则来防止安全漏洞和程序故障。但是,应用这些准则并证明合规性可能会非常繁重,因此简化此流程对于确保按时交付软件至关重要。
为了让软件帮助您完成这项工作,您可以:
-
在每次构建软件后,使用C/C++test通过静态代码分析来验证MISRA准则,从而确保日常执行。
从DTP的MISRA法规遵从性工具包中快速获取高级概述和详细 告,以有效地证明法规遵从性。
利用DTP来跟踪项目要求到测试的可追溯性,这不仅是MISRA的重要要求,还是安全标准的重要要求。
归根结底,在整个生命周期中支持MISRA合规性对于持续的执法和可追溯性至关重要,而根据MISRA Compliance:2016指南,自动化文档是节省时间和处理此指南的关键。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!