GJB简介及代码规则的作用

GJB简介

01

GJB发布和由来

GJB-《C/C++语言编程安全子集》由总装电子信息基础部批准发布。

GJB的制定是参照MISRAC++《汽车软件C++语言使用指南》,并对GJB-《航天型号软件C语言安全子集》的执行情况总结,特别是因软件编码引起的缺陷的案例总结。

02

GJB应用范围

GJB适用于所有军用软件开发领域,对GJB的规则进行了大幅度升级和扩充,扩展了应用场景,明确的提出了C语言和C++语言的编程规范内容。

GJB标准是军用软件C/C++语言编码的重要且必须遵守的代码编程准则。

03

GJB标准发布和由来

GJB标准由航天软件评测中心提出,由总装电子信息基础部批准发布。是航天领域嵌入式C语言编程标准。已在国内的军工行业包括军队、航天航空、船舶、兵器等也已经得到广泛应用。

04

MISRA标准发布和由来

MISRA-TheMotorIndustrySoftwareReliabilityAssociation汽车工业软件可靠性联会,是英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助汽车厂方开发安全的、高可靠性的嵌入式软件。MISRA最出名的成果是MISRAC语言编码标准,其中包括了条标准。通常认为如果能够完全遵守这些标准,则你的C代码是易读、可靠、可移植和易于维护的。

MISRA标准极大地推动了汽车行业C语言安全规范编程,也同时在其他行业广泛借鉴使用。

05

GJB的组成

第一章范围

第二章引用文件

第三章术语和定义

第四章总则

第五章C和C++的共用准则

第六章C++的专用准则

第七章评价

附录A(资料性附录)准则汇总索引

附录B(资料性附录)评价示例

06

GJB-的内容

GJB标准中每条准则采取固定格式描述,并给出违背型示例和遵循示例。主要包括:

C和C++共用的强制准则条;

C++专用的强制准则28条;

C和C++共用的建议准则41条;

C++专用的建议准则11条;

违背型示例个;

遵循示例个;

说明型示例7个

第五章C和C++的共用准则

主要准则包括:初始化、声明定义、书面编写、变量使用、指针使用、分支控制、跳转控制、运算处理、函数调用、语句使用、循环控制、类型转换、比较判断等。

第六章C++的专用准则

主要准则包括:类与对象、构造函数、虚拟函数、析构函数、类型转换、函数定义与使用、内存释放、异常处理等。

第七章评价

开展软件编码准则的评价要求:

1)编码准则必须经过验证及要求

2)违背准则的统计

3)计算违背率,并对强制准则的遵循情况进行评价。

6个评价等级包括:非常好、好、较好、差、较差、非常差。

使用编码规范的作用

编码标准的执行,可使软件开发人员在编程过程中遵守统一规则,减少人为造成的问题,从而保证代码的可理解性和可维护性。

使用编码准则是检查代码错误的有效方法,可查找编码不规范,冗余代码,避免出现已知设计模式问题造成的缺陷或未预期的运行时错误。大量数据表明,软件存在的问题或隐患很大部分根源在于没有遵守编程标准。

推行统一的编码规范可减少引入下列错误:

识别底层语言允许但易造成问题的编码方式;

限制或消除在代码中使用易于出现问题的编程方式。

编码准则的使用可让测试人员按照规则理解并检查代码,容易及时发现代码缺陷。

使用测试工具时,嵌入相应的编码规则,可对照编码自动、快速检测出问题和缺陷。

评价准则一致,在第三方评测机构的国家软件测评中心的测试中统一严格按照GJB规则进行检测,不仅在行业评测体系内保证代码规则的一致性,还可在军工体系内评测和推动软件标准化实施,全面提高软件的可维护性和可靠性,增强军用软件质量。

库博的能力

01

使用工具做代码审查的作用

02

库博(COBOT)支持的全编码标准

03

库博对编码规则检测支持能力

04

库博支持各类编码规则

05

库博中GJB编码规则展现

06

库博GJB编码规则展现

关键词:代码静态分析丨静态代码丨代码检测丨程序分析

扫描下方


转载请注明:http://www.aierlanlan.com/rzdk/476.html