[发明专利]一种基于Makefile的代码静态分析方法和装置有效
申请号: | 201711168046.4 | 申请日: | 2017-11-21 |
公开(公告)号: | CN107832059B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 徐长辉;王凡;陈铭;郑侠松;罗杰 | 申请(专利权)人: | 广州视源电子科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 510530 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 makefile 代码 静态 分析 方法 装置 | ||
本申请提供了一种基于Makefile的代码静态分析方法和装置,本申请先确定待分析的源代码文件,再调用Makefile系统生成所述源代码文件的依赖关系信息,最后将所述源代码文件及其依赖关系信息输入静态分析程序,得到所述源代码文件的静态分析结果,进一步地,可以利用编写脚本的方式实现编译以及静态分析的自动执行。与现有技术相比,不再需要人为确定源代码文件的依赖关系,节省了较多的时间和人力的同时提高了静态分析工具报告结果的准确度。
技术领域
本申请涉及计算机领域,特别是涉及一种基于Makefile的代码静态分析方法和装置。
背景技术
程序静态分析(Program Static Analysis)是指在不执行源代码文件的情况下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足标准的一种代码分析技术。
文件依赖关系是指一个源代码文件需要引用的其他文件中的函数、数据结构,变量等,当程序静态分析时,需要获得源代码文件的依赖关系,才能更全面的完成对源代码文件的分析,否则会出现误报和漏报。
现有技术中,程序静态分析时需要人为确定源代码文件的依赖关系,再将源代码文件及其依赖关系输入静态分析程序以得到分析结果,花费较多的时间和人力。
发明内容
为解决上述技术问题,本申请提供了一种基于Makefile的代码静态分析方法和装置,技术方案如下:
一种基于Makefile的代码静态分析方法,所述方法包括:
确定待分析的源代码文件;
调用Makefile系统生成所述源代码文件的依赖关系信息;
将所述源代码文件及其依赖关系信息输入静态分析程序,得到所述源代码文件的静态分析结果。
所述调用Makefile系统生成所述源代码文件的依赖关系信息,包括:
调用Makefile系统对源代码文件进行编译,所述Makefile系统在进行编译时输出源代码文件的依赖关系信息。
所述待分析的源代码文件为Makefile系统中预先写入的源代码文件。
所述调用Makefile系统生成所述源代码文件的依赖关系信息,包括:
获取预先编写的增强编译脚本,所述增强编译脚本用于调用编译程序对预先写入的源代码文件进行编译,以及调用静态分析程序对源代码文件进行静态分析;
Makefile系统调用增强编译脚本对预先写入的源代码文件进行编译,所述Makefile系统在进行编译时输出所述源代码文件的依赖关系信息。
所述将所述源代码文件及其依赖关系信息输入静态分析程序,得到所述源代码文件的静态分析结果,包括:
确定增强编译脚本中静态分析开关的状态,当开关开启时,将所述源代码文件及其依赖关系信息输入增强编译脚本,增强编译脚本调用静态分析程序对源代码文件进行静态分析,得到所述源代码文件的静态分析结果。
一种基于Makefile的代码静态分析装置,所述装置包括:
代码确定模块:用于确定待分析的源代码文件;
信息获取模块:调用Makefile系统生成所述源代码文件的依赖关系信息;
代码分析模块:将所述源代码文件及其依赖关系信息输入静态分析程序,得到所述源代码文件的静态分析结果。
所述信息获取模块,具体用于:
调用Makefile系统对源代码文件进行编译,所述Makefile系统在进行编译时输出源代码文件的依赖关系信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州视源电子科技股份有限公司,未经广州视源电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711168046.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法及装置
- 下一篇:一种应用程序界面处理方法及装置