[发明专利]用于静态分析的多编译器混合编译的监控方法及装置在审
申请号: | 202011322690.4 | 申请日: | 2020-11-23 |
公开(公告)号: | CN112363729A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 陈睿;江云松;丁戈;王峥;李杨;肖志恒;贾春鹏;高栋栋;于婷婷;朱玉钊 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/30;G06F11/34 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 陈鹏 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 静态 分析 编译器 混合 编译 监控 方法 装置 | ||
1.一种用于静态分析的多编译器混合编译的监控方法,其特征在于,包括:
获取待分析程序对应的程序编译日志;
根据所述程序编译日志,识别得到编译命令;
根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数;
根据编译器类型提取所述待分析程序对应的编译信息。
2.根据权利要求1所述的方法,其特征在于,所述获取待分析程序对应的程序编译日志,包括:
获取所述待分析程序;
调用编译器对所述待分析程序进行编译处理,并获取由所述编译器输出的所述程序编译日志;
所述程序编译日志包括编译参数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述程序编译日志,识别得到编译命令,包括:
设计可识别的通用的编译器种类扩展模型;
根据所述编译器种类扩展模型和配置文件,扩展编译器平台种类;
通过所述配置文件中支持的编译器名,识别得到所述程序编译日志中的编译命令。
4.根据权利要求3所述的方法,其特征在于,所述配置文件模型为参数转换模型,所述根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数,包括:
获取所述配置文件模型中所需变换的编译参数与变换后参数之间的映射关系;
根据所述映射关系,将相同属性的参数转换为统一的参数;所述相同属性的参数包括:不同编译器平台上指定宏的参数、指定头文件的参数和取消内建宏的参数;
根据所述映射关系,将部分参数变换为编译器可识别的参数;所述部分参数包括:链接动态库的参数、开启异常捕获模式的参数和启用同步异常处理的参数;
根据所述映射关系,过滤所述编译器平台上的方言参数;所述方言参数包括:对芯片的附加组件发出的伪指令参数、处理器名称的参数和助记符汇编参数。
5.根据权利要求1所述的方法,其特征在于,所述根据编译器类型提取所述待分析程序对应的编译信息,包括:
根据所述转换的编译参数对所述待分析程序按照编译器进行分组,得到分组结果;
根据所述分组结果,提取每种编译器的编译信息;
根据所述编译信息,生成每种编译器对应的配置文件。
6.一种用于静态分析的多编译器混合编译的监控装置,其特征在于,包括:
程序编译日志获取模块,用于获取待分析程序对应的程序编译日志;
编译命令识别模块,用于根据所述程序编译日志,识别得到编译命令;
转换编译参数获取模块,用于根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数;
编译信息提取模块,用于根据编译器类型提取所述待分析程序对应的编译信息。
7.根据权利要求6所述的装置,其特征在于,所述程序编译日志获取模块包括:
待分析程序获取单元,用于获取所述待分析程序;
程序编译日志获取单元,用于调用编译器对所述待分析程序进行编译处理,并获取由所述编译器输出的所述程序编译日志;
所述程序编译日志包括编译参数。
8.根据权利要求6所述的装置,其特征在于,所述编译命令识别模块包括:
编译器模型设计单元,用于设计可识别的通用的编译器种类扩展模型;
编译器平台种类扩展单元,用于根据所述编译器种类扩展模型和配置文件,扩展编译器平台种类;
编译命令识别单元,用于通过所述配置文件中支持的编译器名,识别得到所述程序编译日志中的编译命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011322690.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:割包投料机
- 下一篇:气动单作用驱动头闭式气路装置