立即登录

如果您已经拥有本站账号,可以直接登录。

*为必填项注册新会员

  • 登录名: *  
  • 登录密码: *
  • 重复密码: *  
  • 姓名: *  
  • 公司名称: *  
  • 职务:
  • 联系电话: *  
  • 电子邮件: *  
  • 验证码: *  

立即登录

如果您已经拥有本站账号,可以直接登录。

*为必填项找回密码

  • 注册邮箱:

    验证码会以邮件的方式发送到您的邮箱!

  • 验证码: *
  • 请输入新密码: *

安全关键软件集成研制环境ASIDE

提供软件全生命周期研制、管理和审定的综合支持

CCK-GJB 国军标编译器认证包

您的位置: 首页 > 产品中心 > CCK-GJB 国军标编译器认证包

GJB5369编译器认证包(CCK-GJB)


▌为什么要进行编译器认证

在机载软件开发过程中,编码人员完成编码工作之后,需要将源代码编译为机器码供CPU执行。这个过程中涉及到预处理、汇编翻译、链接等一系列工作:C语言预处理器将源文件翻译为预处理文件,编译器将预处理文件翻译为汇编码,随后汇编器将汇编码翻译为机器码,最后链接器将多个机器码链接为一个完整的可执行文件。


由于C语言交叉编译器非常复杂,在编译的过程中存在种种不确定性,而对于高安全性嵌入式机载软件来说,编译器是生成最终软件产品以及实施软件测试活动的基础,直接关系到软件产品的安全。因此,必须对源代码到目标码的编译、汇编过程进行验证,从而有足够的信心确认编译过程没有引入错误,不会带来安全隐患。


为了实现编译器验证,最直接的做法是将真实应用的源代码与目标码进行逐条对比分析,从而检测出编译过程引入的额外代码,并分析额外代码会不会影响软件行为,带来安全隐患。然而这种做法往往受到软件研制的影响很大,一旦项目源代码、编译选项、编译环境发生变化,源代码目标码追溯分析就要重新进行,工作量巨大。


▌GJB5369编译器认证包是什么


爱韦讯经过多年的技术积累,研发了“GJB5369编译器认证包(Compiler Compliance Kit)”。该认证包从重用性的角度出发,将C语言限制到一个安全子集范围内(符合GJB5369-2005的编码标准),通过对“安全子集”范围内符合软件编码标准的参考代码进行完备的编译器验证,从而获得编译器在特定应用条件下不会引入错误的信心。这种做法稳定性较好,只要编译选项和编译环境不发生变化,且项目源代码符合软件编码标准,即使项目源代码发生变更,验证工作的结果依然有效,无需重复工作。


爱韦讯的“GJB5369编译器认证包(CCK-GJB)”中包括以下数据:

符合GJB5369-2005软件编码标准的C语言安全子集 自动化测试框架及驱动

符合安全子集的参考源代码 认证包使用说明

安全子集匹配的测试用例(包括正常和健壮性的测试用例)


在项目编译环境和选项确定后,用户可把参考源代码编译生成参考目标码,分析其与参考源代码之间的追溯关系,识别其中由编译器/链接器引入的、无法追溯的额外代码,并对其进行验证,以确保额外代码正确地实现了其功能,不会带来安全隐患。同时,用户可根据项目环境调整自动化测试框架,编译运行参考源代码及测试用例。通过自动化对比测试运行结果,向用户展示出存在问题的代码部分,帮助用户验证编译器功能的正确性。


▌GJB5369编译器认证包有哪些特点


稳定程度高

只要项目的编译环境和编译选项不变,并且证明项目中所用到的源代码是符合编码标准的、在这个安全子集范围内,那么对于安全子集的源代码和目标代码分析结果就作为有效的符合性验证证据。该解决方案不受项目源代码发生变更的影响,稳定程度较高。


复用程度高

该解决方案能够协助用户确定安全的软件编码标准,以及稳定可靠的编译选项和编译环境。对于编译环境和编译选项不变的项目,可以直接复用源代码目标代码追溯分析结果。对于编译环境和编译选项发生变化的项目,需要重复开展源代码到目标代码追溯分析,但工作量仅限于安全子集范围内,为后期项目重用提供很大帮助。

猎广网(北京)信息技术有限公司 版权所有 京ICP备13016327号-4 COPYRIGHT 2017SHAVIATION 邮政编码:201203