首页 > 其他分享 >什么是Barr-C?

什么是Barr-C?

时间:2022-12-06 15:00:10浏览次数:63  
标签:指南 BARR 编码标准 什么 MISRA Barr 2018

Barr-C是Barr Group的编码标准,旨在减少嵌入式软件中的漏洞,并引入风格指南,提高可维护性和可移植性。

在这里,我们将阐释什么是Barr-C,开发人员如何使用BARR-C:1018检测C语言所编写的固件中的漏洞,以及Barr-C如何与MISRA指南相结合。

本文将包含如下内容:

  • 什么是Barr-C?
  • 为什么Barr-C很重要?
  • 如何实现Barr-C合规性?
  • Barr-CMISRA的关系?

什么是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和其他功能安全标准,立刻注册申请免费试用吧。                      

 “原创内容,转载请标明出处”

标签:指南,BARR,编码标准,什么,MISRA,Barr,2018
From: https://www.cnblogs.com/trinitytec/p/16955118.html

相关文章

  • IPv6比IPv4有什么优点?我国IPv6发展现状-中科三方
    《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《行动计划》)发布实施以来,政府部门、基础电信企业、互联网企业、通信设备与服务提供商、相关中央企业、事业单位、......
  • 什么是UML
    一:UML简介   UML是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模;它可以描述这个软件从需求分析直到实现和测试的过程。二:UML的......
  • 为什么推荐Kestrel作为网络开发框架
    为什么推荐Kestrel网络框架千千万万,在dotnet平台,我们可以直接手撸Socket,也可以基于dotnetty来开发,或者选择某些第三方类似于dotnetty的网络库,为何我要推荐Kestrel呢?1使......
  • CyclicBarrier循环屏障源码解析(基于jdk11)
    目录CyclicBarrier循环屏障源码解析(基于jdk11)1.1CyclicBarrier概述1.2CyclicBarrier原理1.2.1基本结构(jdk11)1.2.2await()方法1.2.3dowait方法1.2.3.1breakBarrie......
  • 什么是SFP光模块?SFP光模块小知识介绍!
    SFP光模块是SFP封装的热插拔小封装模块,目前最高速率可达10.3G,接口为LC。SFP光模块主要由激光器构成。SFP分类可分为速率分类、波长分类、模式分类。接下来就由飞畅科技的小......
  • 有什么轻量级的大数据技术
    一、大数据形式流行的大数据技术有Hadoop,Storm,Hive、Spark等,这些都是大集群方案,适合有海量规模数据的巨大企业。实际上,流行的大数据技术通常也源自这类头部互联网企业。......
  • <一>bind1st和bind2nd什么时候会用到
    bind用于绑定可调用(Callable)对象(函数对象、指向函数指针、到函数引用、指向成员函数指针或指向数据成员指针)和其参数。返回值为绑定成功后的函数对象C++11中引入的fun......
  • ACM 的正确入门方式是什么?
    作者:数学lover链接:https://www.zhihu.com/question/51727516/answer/127265733来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一些基......
  • 什么是RAID级别及其规格?
    摘要:RAID是一组独立的物理磁盘。本文说明不同级别的RAID(RAID0、RAID1、RAID5、RAID10、RAID50、RAID60)RAID是一项数据存储虚拟化技术,其将多个物理磁盘驱动器组件......
  • 软件工程:什么是分而治之?
    “分而治之”(Divideandconquer)方法(又称“分治术”),是有效算法设计中普遍采用的一种技术。所谓“分而治之”就是把一个复杂的算法问题按一定的“分解”方法分为等......