[发明专利]基于海鹰翼辉操作系统的安全编译方法及装置在审
| 申请号: | 202010551078.8 | 申请日: | 2020-06-17 |
| 公开(公告)号: | CN111459500A | 公开(公告)日: | 2020-07-28 |
| 发明(设计)人: | 周广蕴;王旭;田文龙 | 申请(专利权)人: | 北京机电工程研究所 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京天达知识产权代理事务所(普通合伙) 11386 | 代理人: | 张通 |
| 地址: | 100074 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 海鹰翼辉 操作系统 安全 编译 方法 装置 | ||
1.一种基于海鹰翼辉操作系统的安全编译方法,其特征在于,包括如下步骤:
对待编译的源程序进行代码扫描预处理,以加载头文件和宏替换至源程序的相应位置,并进行代码格式、注释风格、字符集合法性及条件编译的检查,若检查合格,得到代码扫描预处理结果,若检查不合格,对报错位置进行修正,得到代码扫描预处理结果;
对所述代码扫描预处理结果进行词法分析,得到单词序列;
对所述单词序列中的结构设置进行语法分析,得到抽象语法树,其中,所述结构设置包括控制结构、数据类型和函数声明与参数表;
基于所述抽象语法树进行语义分析,生成中间代码;
对所述中间代码进行优化,生成目标代码。
2.根据权利要求1所述的基于海鹰翼辉操作系统的安全编译方法,其特征在于,所述语义分析包括安全性分析和动态语义分析;其中,所述安全性分析包括如下步骤:
基于所述抽象语法树进行控制流分析,得到控制依赖图;
基于所述控制依赖图进行数据流分析,得到数据依赖图;
基于所述控制依赖图和数据依赖图得到程序依赖图;
根据安全规则库检查所述程序依赖图,得到安全性分析结果。
3.根据权利要求2所述的基于海鹰翼辉操作系统的安全编译方法,其特征在于,基于所述抽象语法树进行控制流分析,得到控制依赖图包括如下步骤:
遍历抽象语法树,寻找并获取包括if、while、for和switch的控制语句;
基于所述控制语句进行递归计算并记录控制关系;
基于记录的所述控制关系得到控制依赖图。
4.根据权利要求3所述的基于海鹰翼辉操作系统的安全编译方法,其特征在于,基于所述控制依赖图进行数据流分析,得到数据依赖图包括如下步骤:
获取所述控制依赖图中每个节点的可达定值集;
基于所述可达定值集在控制依赖图上添加数据依赖边,得到数据依赖图。
5.根据权利要求4所述的基于海鹰翼辉操作系统的安全编译方法,其特征在于,所述安全规则库包括检查规则库、程序规范库和检查结果库;所述检查规则库,用于检查C/C++警告信息;所述程序规范库,用于检查C/C++语法规则信息;所述检查结果库,用于存储安全性分析结果;
根据安全规则库检查所述程序依赖图,得到安全性分析结果,包括:
获取所述程序依赖图中的C/C++程序规则信息,将所述C/C++程序规则信息与检查规则库匹配,得到规则检查结果;
获取所述程序依赖图中的C/C++语法定义信息,将所述C/C++语法定义信息与程序规范库匹配,得到语法检查结果;
基于所述规则检查结果和语法检查结果得到安全性分析结果。
6.根据权利要求5所述的基于海鹰翼辉操作系统的安全编译方法,其特征在于,基于所述抽象语法树进行动态语义分析,得到动态语义分析结果,其中,所述动态语义分析包括表达式和函数副作用的检查;
若所述安全性分析结果和动态语义分析结果不存在报错,直接生成中间代码;若所述安全性分析结果和动态语义分析结果存在报错,对所述报错的位置进行相应修正,修正完成后,生成中间代码。
7.一种基于海鹰翼辉操作系统的编译装置,其特征在于,包括:
预处理模块,用于对待编译的源程序进行代码扫描预处理,以加载头文件和宏替换至源程序的相应位置,并进行代码格式、注释风格、字符集合法性及条件编译的检查,若检查合格,得到代码扫描预处理结果,若检查不合格,对报错位置进行修正,得到代码扫描预处理结果;
词法分析模块,用于对所述代码扫描预处理结果进行词法分析,得到单词序列;
语法分析模块,用于根据所述单词序列中的结构设置进行语法分析,得到抽象语法树,其中,所述结构设置包括控制结构、数据类型和函数声明与参数表;
语义分析模块,用于根据所述抽象语法树进行语义分析,生成中间代码;
目标代码生成模块,用于对所述中间代码进行优化,生成目标代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京机电工程研究所,未经北京机电工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010551078.8/1.html,转载请声明来源钻瓜专利网。





