[发明专利]过程间静态程序分析信息提取方法、装置及设备有效

专利信息
申请号: 201711423522.2 申请日: 2017-12-25
公开(公告)号: CN108132799B 公开(公告)日: 2021-03-16
发明(设计)人: 衷璐洁;莫培弘 申请(专利权)人: 首都师范大学
主分类号: G06F8/75 分类号: G06F8/75
代理公司: 北京同立钧成知识产权代理有限公司 11205 代理人: 宋扬;刘芳
地址: 100048*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 过程 静态 程序 分析 信息 提取 方法 装置 设备
【说明书】:

发明实施例提供一种过程间静态程序分析信息提取方法、装置及设备,其中,该方法包括:遍历LLVM IR文件中的指令;基于br指令和ret指令,提取过程内程序分析信息;确定LLVM IR文件中的call指令是否是函数指针相关的call指令;其中,若不是,则从call指令中提取直接函数调用的信息;若是,则,根据call指令之前的store指令及load指令,提取call指令中函数指针的指向信息;在遍历结束后,基于提取到的过程内程序分析信息,以及所有直接函数调用的信息和函数指针的指向信息,生成过程间静态程序分析信息。从而解决了静态程序分析中函数指针指向信息获取不够准确的问题。

技术领域

本发明实施例涉及计算机技术领域,尤其涉及一种过程间静态程序分析信息提取方法、装置及设备。

背景技术

现代软件系统的复杂性越来越突出,程序的规模也越来越大,难以直观地了解程序的编码逻辑结构。过程间信息以及过程内信息能够反映软件系统中的程序编码逻辑,在对程序的理解和分析、软件的测试、调试和维护、编译优化、错误定位、程序错误(bug)查找、过程间数据流分析、回溯测试等软件工程领域中都有着广泛的应用,完整的过程间信息和过程内信息更好地辅助程序验证和程序调试,提高程序分析的质量。

现有技术中,Source Insight是一个项目向导的程序编辑器和代码浏览器,具有对引用树、类继承图和调用树等程序分析信息的可视化支持,并可以生成函数调用图。CodeViz是一个C源码静态分析工具,针对C程序生成可视化的函数调用图,通过给GCC打补丁,在编译源文件时dump出函数调用信息,再通过Perl脚本提取函数调用信息。Cflow是一个C源码程序静态分析工具,它可以产生前向和反向的两种函数调用图,直接对源码进行分析,生成一个C程序的函数调用信息的外部引用集合。CallTree是一个C源码静态调用树生成器,通过分析C源码,提取函数调用信息。这些方法和技术均不能获取函数指针指向的信息,存在函数调用信息获取不够完善的问题:Source Insight和CodeViz不能获取函数指针指向的信息;CallTree不能获取函数指针指向的真实信息;CodeViz、CallTree以及Cflow不能完善地处理库函数调用信息。

发明内容

本发明实施例提供一种过程间静态程序分析信息提取方法、装置及设备,用以解决静态程序分析中函数指针指向信息获取不够准确的问题。

本发明实施例第一方面提供一种过程间静态程序分析信息提取方法,该方法包括:

遍历LLVM IR文件中的指令;

基于所述LLVM IR文件中的br指令和ret指令,从所述LLVM IR文件中提取过程内程序分析信息;

确定所述LLVM IR文件中的call指令是否是函数指针相关的call指令;

其中,若不是,则从所述call指令中提取直接函数调用的信息;

若是,则,根据所述call指令之前的store指令及load指令,提取所述call指令中函数指针的指向信息;

在遍历结束后,基于提取到的过程内程序分析信息,以及所有直接函数调用的信息和函数指针的指向信息,生成过程间静态程序分析信息。

可选的,所述从所述call指令中提取直接函数调用的信息,包括:

将所述call指令中的函数的名称与预先存储的库函数名称进行匹配;

其中,若匹配,则提取所述call指令的库函数直接调用信息;

若不匹配,则提取所述call指令的一般函数直接调用信息,其中一般函数直接调用是指库函数以外的其他函数的直接调用。

可选的,所述根据所述call指令之前的store指令及load指令,提取所述call指令中函数指针的指向信息,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首都师范大学,未经首都师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711423522.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top