博客
希望我们能与您分享和探讨成长中的点点滴滴
什么是Barr-C?
分享到
Barr-C是Barr Group的编码标准,旨在减少嵌入式软件中的漏洞,并引入风格指南,提高可维护性和可移植性。
在这里,我们将阐释什么是Barr-C,开发人员如何使用BARR-C:1018检测C语言所编写的固件中的漏洞,以及Barr-C如何与MISRA指南相结合。
本文将包含如下内容:
• 什么是Barr-C?
• 为什么Barr-C很重要?
• 如何实现Barr-C合规性?
• Barr-C与MISRA的关系?
什么是Barr-C?
Barr-C是由Barr Group开发的嵌入式C编码标准,致力于减少固件中的漏洞数量,同时提高嵌入式软件的可维护性和可移植性。
BARR-C:2018指南分为两大类:
1. 一类是处理开发语言子类的,如避免特定的关键字(例如,“register”或“continue”)和使用类函数宏。
2. 另一类是关于编程风格的(例如,缩进和命名约定)。
第一类的某些规则被标记为“Zero Bugs…Period.”遵循这些规则将有助于在第一时间防范漏洞。
为什么Barr-C很重要?
即便使用合适的工具来识别缺陷和合规问题,开发嵌入式软件仍然具有挑战性。
BARR-C:2018定义了一种风格,主要目的在于最小化编码错误。因此,BARR-C:2018可以被视为对C语言子类进行规范的第一步,这一点适用于各种项目。
对于没有使用编码标准和静态分析这种情况,BARR-C:2018的采用是一项重大改进。
如何实现Barr-C合规性?
为了符合BARR-C:2018,必须强制执行所有指南。
检测不兼容代码的方法有好几种,例如,非正式的代码审查或自动扫描。建议的执行方法在每个规则中都有描述。BARR-C:2018中的许多规则可以使用像Helix QAC这样的静态分析工具自动检查。
Barr-C与MISRA的关系?
设计安全关键系统的开发人员熟知要严格遵循MISRA C:2012指南。符合MISRA C:2012能确保嵌入式代码是安全可靠的。
BARR-C:2018不是为了与MISRA C:2012竞争而设计的,它们实际上是相互兼容并互为补充的。例如,一个使用MISRA C:2012的项目可以使用BARR-C:2018的编程风格部分来满足MISRA C里的采用和执行一致的编码风格的建议。
类似地,关键项目最初可以朝着符合Barr-C的方向努力,然后再顺利过渡到符合MISRA C。
为什么使用Helix QAC实现Barr-C合规性
使用Helix QAC,可以很容易地遵循编码标准和指南,包括MISRA和Barr-C。
若想亲自体验Helix QAC如何帮助您遵循Barr-C和其他功能安全标准,立刻注册申请免费试用吧。