[发明专利]基于海鹰翼辉操作系统的安全编译方法及装置在审
| 申请号: | 202010551078.8 | 申请日: | 2020-06-17 |
| 公开(公告)号: | CN111459500A | 公开(公告)日: | 2020-07-28 |
| 发明(设计)人: | 周广蕴;王旭;田文龙 | 申请(专利权)人: | 北京机电工程研究所 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京天达知识产权代理事务所(普通合伙) 11386 | 代理人: | 张通 |
| 地址: | 100074 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 海鹰翼辉 操作系统 安全 编译 方法 装置 | ||
本发明涉及一种基于海鹰翼辉操作系统的安全编译方法及装置,属于嵌入式操作系统技术领域,解决了现有的编译方法难以实现海鹰翼辉操作系统的高安全性和高质量等问题。对待编译的源程序进行代码扫描预处理,得到代码扫描预处理结果;对代码扫描预处理结果进行词法分析,得到单词序列;对单词序列中的结构设置进行语法分析,得到抽象语法树,其中,所述结构设置包括控制结构、数据类型和函数声明与参数表;基于抽象语法树进行语义分析,生成中间代码;对中间代码进行优化,生成目标代码。实现了代码格式、注释风格、字符集合法和条件编译的检查,提高了编译软件的安全性和质量。
技术领域
本发明涉及嵌入式操作系统技术领域,尤其涉及一种基于海鹰翼辉操作系统的安全编译方法及装置。
背景技术
随着武器装备系统在信息化、体系化、自主化和智能化等方面的飞速发展,软件的规模越来越大,关键程度越来越高,软件的质量与安全性已经成为影响产品质量与可靠性的重要因素。
当前,很多商用或者开源的安全编译方法,能够支持软件开发各阶段的测试和验证,但这些工具都是基于一些市场占有率较大的开发环境、操作系统和目标机进行了定制,比如:VxWorks、CCS等,但覆盖面有限,目前尚没有针对海鹰翼辉操作系统的安全编译方法及工具。另外,商用编译方法在使用上遵循国外通用的标准和规范,本地化工作只是简单的翻译,难以实现海鹰翼辉操作系统的高安全性和高质量的要求。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于海鹰翼辉操作系统的安全编译方法及装置,用以解决现有的编译方法难以实现海鹰翼辉操作系统的高安全性和高质量要求等问题。
一方面,本发明实施例提供了一种基于海鹰翼辉操作系统的安全编译方法,包括如下步骤:
对待编译的源程序进行代码扫描预处理,以加载头文件和宏替换至源程序的相应位置,并进行代码格式、注释风格、字符集合法性及条件编译的检查,若检查合格,得到代码扫描预处理结果,若检查不合格,对报错位置进行修正,得到代码扫描预处理结果;
对所述代码扫描预处理结果进行词法分析,得到单词序列;
对所述单词序列中的结构设置进行语法分析,得到抽象语法树,其中,所述结构设置包括控制结构、数据类型和函数声明与参数表;
基于所述抽象语法树进行语义分析,生成中间代码;
对所述中间代码进行优化,生成目标代码。
进一步,所述语义分析包括安全性分析和动态语义分析;其中,所述安全性分析包括如下步骤:
基于所述抽象语法树进行控制流分析,得到控制依赖图;
基于所述控制依赖图进行数据流分析,得到数据依赖图;
基于所述控制依赖图和数据依赖图得到程序依赖图;
根据安全规则库检查所述程序依赖图,得到安全性分析结果。
进一步,基于所述抽象语法树进行控制流分析,得到控制依赖图包括如下步骤:
遍历抽象语法树,寻找并获取包括if、while、for和switch的控制语句;
基于所述控制语句进行递归计算并记录控制关系;
基于记录的所述控制关系得到控制依赖图。
进一步,基于所述控制依赖图进行数据流分析,得到数据依赖图包括如下步骤:
获取所述控制依赖图中每个节点的可达定值集;
基于所述可达定值集在控制依赖图上添加数据依赖边,得到数据依赖图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京机电工程研究所,未经北京机电工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010551078.8/2.html,转载请声明来源钻瓜专利网。





