[发明专利]用于静态分析的多编译器混合编译的监控方法及装置在审
申请号: | 202011322690.4 | 申请日: | 2020-11-23 |
公开(公告)号: | CN112363729A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 陈睿;江云松;丁戈;王峥;李杨;肖志恒;贾春鹏;高栋栋;于婷婷;朱玉钊 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/30;G06F11/34 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 陈鹏 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 静态 分析 编译器 混合 编译 监控 方法 装置 | ||
本发明实施例公开了一种用于静态分析的多编译混合编译的监控方法及装置。所述方法包括:获取待分析程序对应的程序编译日志;根据所述程序编译日志,识别得到编译命令;根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数;根据编译器类型提取所述待分析程序对应的编译信息。本发明实施例可以实现对多编译器混合编译的项目进行可配置的编译监控。
技术领域
本发明涉及静态分析的编译监控技术领域,特别是一种用于静态分析的多编译器混合编译的监控方法及装置。
背景技术
静态分析是软件开发过程中的重要步骤,可以在不运行程序的情况下,发现程序中可能存在的问题。
对一个软件项目进行静态分析,需要根据项目的实际编译情况进行配置,如项目编译过程中有效的源文件、引用的头文件以及宏等。项目越复杂,需要配置的内容就越繁琐,仅通过人工配置的方式,效率低并且容易出错。
编译监控是指监控项目的编译过程,从而自动获取项目编译的选项和配置的一种技术。编译监控技术是解决复杂项目静态分析时人工配置困难的有效方案,目前已有相关方面的专利,比如《一种基于makefile文件依赖的源码分析方法》(专利号CN106202450A)和《一种基于makefile的代码静态分析方法和装置》(专利号CN107832059A)。这两个专利都是通过编译器对makefile文件处理生成的中间文件进行分析,提取源文件依赖关系,但是没有对不同编译器所编译的源文件做出区分,没有提取编译器内建头文件与宏的信息。因此不能提供多编译器混合编译项目的解决方案。
缺少完整的编译参数与环境配置会使静态分析的预编译过程出现错误,导致静态分析不能正常进行或结果不准确。如何对多编译器混合编译的项目进行可配置的编译监控,仍然需要更加系统的解决方案。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种用于静态分析的多编译器混合编译的监控方法及装置。
为了解决上述技术问题,本发明实施例提供了一种用于静态分析的多编译器混合编译的监控方法,包括:
获取待分析程序对应的程序编译日志;
根据所述程序编译日志,识别得到编译命令;
根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数;
根据编译器类型提取所述待分析程序对应的编译信息。
可选地,所述获取待分析程序对应的程序编译日志,包括:
获取所述待分析程序;
调用编译器对所述待分析程序进行编译处理,并获取由所述编译器输出的所述程序编译日志;
所述程序编译日志包括编译参数。
可选地,所述根据所述程序编译日志,识别得到编译命令,包括:
设计可识别的通用的编译器种类扩展模型;
根据所述编译器种类扩展模型和配置文件,扩展编译器平台种类;
通过所述配置文件中支持的编译器名,识别得到所述程序编译日志中的编译命令。
可选地,所述配置文件模型为参数转换模型,所述根据所述编译命令,设计通用的配置文件模型,并将所述程序编译日志映射至所述配置文件模型,得到转换的编译参数,包括:
获取所述配置文件模型中所需变换的编译参数与变换后参数之间的映射关系;
根据所述映射关系,将相同属性的参数转换为统一的参数;所述相同属性的参数包括:不同编译器平台上指定宏的参数、指定头文件的参数和取消内建宏的参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011322690.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:割包投料机
- 下一篇:气动单作用驱动头闭式气路装置