MISRA现在更好和更容易实现Polyspace工具

MISRA的最新版本标准的编码规则是MISRA - C: 2012,成功MISRA - C: 2004已被广泛采用的软件社区各行业为嵌入式系统。

简而言之,MISRA编码规则定义C语言的一个子集,是可靠的嵌入式系统编程。坚持标准最初是由认证需求,但现在已经成为被广泛接受的标准,因为它有助于减轻责任和风险在开发复杂的软件。

MISRA - C: 2004指南是基于当时流行的人私下偷偷收藏盒式版本的C编程语言。但是,很多改变了标准自2004年被释放。我们现在有新的C99和C11版本中,C语言扩展新功能。

甚至一些有用的人私下偷偷收藏盒式版本的功能,使开发人员编写更简单、更高效的代码是不允许MISRA - C: 2004标准。虽然这有助于防止不可靠或不安全的编程结构,它倾向于过于严格。

一个很好的例子是MISRA - C: 2004规则17.4,需要规则,限制数组索引指针算术的唯一形式。这意味着使用指针算法+ +- - - - - - - - - - - -经营者违反标准。新的MISRA - C: 2012标准已经把这变成了一个顾问规则和放松规则允许的使用+ +- - - - - - - - - - - -运营商在指针。

MISRA - C: 2004 17.4规则限制了指针数组索引算法。
MISRA - C: 2004 17.4规则限制了指针数组索引算法。
MISRA - C: 2012删除限制指针算术和没有违反规则的编码。
MISRA - C: 2012删除限制指针算术和没有违反规则的编码。

MISRA - C: 2012因此解决一些关键问题:

  • 万博1manbetx支持新的C99版本以及现有人私下偷偷收藏盒式版本
  • 提供详细的所有编码规则的理由
  • 纠正问题在2004年的版本
  • 变成指示某些规则从2004年标准,不是静态的(更容易自动静态分析工具来检查合规)

新标准也进行一定的规则不可判定的因为许多静态分析工具是不够的在他们的数据流的分析,导致大量的假阳性和假阴性。

Polyspace®静态分析工具是独特的在这方面,在利用正式的方法来提供详尽的控制流和数据流的分析,帮助符合所有静态可执行的规则。2004年和2012年版本的MISRA标准内置支持万博1manbetx在Polyspace工具,以及自动生成代码的子集(MISRA AC AGC)和定义一个自定义的能力标准的子集。

提示:附录1 MISRA - C: 2012也可用MISRA网站,其中包含规则映射帮助用户从2004版本迁移到2012版本。它提供了一个双向规则之间的映射MISRA - C: 2004和MISRA - C: 2012。