来自Barr Group的编码标准Barr-C能够减少嵌入式软件中的bug,并引入风格指南(stylistic guidelines),让维护、移植更简单。
引用
本文将讲述开发人员如何使用Barr-C:1018来检测用C语言编译的固件中的错误,以及它如何与MISRA结合使用。
引用
龙智作为DevSecOps研发安全运营一体化解决方案供应商、Perforce授权合作伙伴,持续关注代码质量与安全领域的动态与发展,为您提供功能安全和标准合规领先的静态代码分析解决方案与最佳实践参考。联系我们,立即了解C/C ++语言静态代码分析器Helix QAC如何帮您遵守Barr-C规则。

图片

什么是Barr-C?

Barr-C是由Barr Group开发的嵌入式C语言编码标准,致力于减少固件中的bug数量,同时让嵌入式软件的维护、移植更简单。

BARR-C:2018指南分为两大类:

  • 第一类:处理语言的子集,例如避免使用特定的关键字(例如“register”或“continue”)和使用类似函数的宏。
  • 第二类:与编程风格相关(例如缩进和命名约定)。

第一类中的某些规则被标记为“0bug...句号(Zero Bugs…Period.)”。遵守这些规则有助于在第一时间防止bug。

为什么Barr-C很重要?

即使已经使用了正确的工具来识别缺陷和合规性问题,开发嵌入式软件依旧充满着挑战。

BARR-C:2018定义了一种风格,主要是为了尽量减少编码错误。因此,BARR-C:2018可以被视为C语言子集的第一步,适用于各种项目。

对于没有使用编码标准和静态分析的情况来说,采用BARR-C:2018会带来显著的进步。

如何实现Barr-C合规性?

要想符合BARR-C:2018,您必须强制执行所有规则。

检测不合规的代码有几种方法,例如使用非正式的代码审查或自动扫描。每条规则中都描述了建议的实施方法。标准中的许多规则都可以使用静态分析工具来进行自动检查,比如Helix QAC。

Barr-C与MISRA有何关系?

设计关键安全系统的开发人员都知道,要严格遵循MISRA C:2012指南,因为符合MISRA C:2012能确保嵌入式代码安全可靠。

BARR-C:2018不是为了与MISRA C:2012竞争而设计的,实际上,它们相容且互补。例如,某个项目使用MISRA C:2012,MISRA C给出的建议是采用和执行一致的编码(coding)风格,这就可以使用BARR-C:2018的某部分编程(programming)风格来满足。

同样的,一些关键项目可以先遵循Barr-C,然后顺利过渡到MISRA C。

为什么要使用Helix QAC来满足Barr-C合规性?

因为Helix QAC可以帮助您轻松遵守编码标准和指南,包括MISRA、Barr-C和其他功能安全标准。

作者简介: 

图片

吉尔·布里顿(Jill Britton)
合规总监,Perforce

吉尔·布里顿在多个行业拥有超过30年的嵌入式软件经验。她曾担任电信、汽车、国防和教育软件等领域企业的软件工程师和管理者。吉尔现在是Perforce的合规总监,同时也是MISRA的委员会成员。吉尔拥有纽卡斯尔大学计算机科学和统计学学士学位,以及伦敦布鲁内尔大学计算机科学硕士学位。文章来源:https://bit.ly/3DVYxoA


龙智DevSecOps
6 声望2 粉丝

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