[发明专利]可迁移函数执行时间的获得方法及系统在审
申请号: | 201210305374.5 | 申请日: | 2012-08-24 |
公开(公告)号: | CN103631573A | 公开(公告)日: | 2014-03-12 |
发明(设计)人: | 邹同亮;刘震;袁小燕;董强;罗曼 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李健;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 迁移 函数 执行时间 获得 方法 系统 | ||
1.一种可迁移函数执行时间的获得方法,其特征在于,该方法包括:
对反汇编工具(Dexdump)源码进行修改,获得应用程序的可执行程序的函数调用关系;
根据限制条件和所述函数调用关系进行预处理,获得需要计算运行时间的可迁移函数;
加载计算运行时间函数,获得所述可迁移函数的运行时间。
2.根据权利要求1所述的方法,其特征在于:
所述对反汇编工具(Dexdump)源码进行修改,获得应用程序的可执行程序的函数调用关系,包括:
将可执行程序(.dex)文件映射到内存,调用文件解析(dexFileParse)函数对其进行分析,将分析的结果存放于第一数据结构中;根据所述第一数据结构分析所述.dex文件,将所有类数据存入第二数据结构中;分析类中每个直接函数和虚函数,然后通过指令分析获得所述可执行程序的函数调用关系。
3.根据权利要求1所述的方法,其特征在于:
所述可迁移函数是指与用户界面(UI)、硬件资源以及网络不相关的非本地(NATIVE)函数;和/或
所述限制条件包括以下条件中的一种或几种:
应用程序中的函数与本地设备有交互;
应用程序中的函数与输入输出(IO)有交互;
应用程序中的函数与网络有交互;以及
应用程序中的函数为NATIVE函数。
4.根据权利要求3所述的方法,其特征在于:
所述根据限制条件和所述函数调用关系进行预处理,获得需要计算运行时间的可迁移函数,包括:
将所述函数调用关系读入邻接表,标记满足所述限制条件的函数节点及其父节点和祖先节点,标记完后再从头扫描并标记未被标记的库函数节点;然后清除已被标记的节点,输出未被标记的节点,所述未被标记的节点为可迁移函数。
5.根据权利要求1-4任一权利要求所述的方法,其特征在于:
所述加载计算运行时间函数,获得所述可迁移函数的运行时间,包括:
当虚拟机启动时,将包含所述可迁移函数的文本文件读入哈希表中;所述虚拟机加载计算运行时间函数,判断当前函数是否在该哈希表中,若在,获得所述当前函数运行的开始时间,运行所述当前函数,获得所述当前函数运行的结束时间,从而获得所述当前函数的运行时间。
6.根据权利要求5所述的方法,其特征在于:
所述虚拟机加载计算运行时间函数,判断当前函数是否在该哈希表中,若在,获得所述当前函数运行的开始时间,运行所述当前函数,获得所述当前函数运行的结束时间,从而获得所述当前函数的运行时间,包括:
在所述虚拟机解释当前函数压栈处,添加获得函数运行开始时间的函数,同时建立一个自己的链栈,将所述获得函数运行开始时间的函数和当前函数运行的开始时间压栈;在所述虚拟机解释当前函数弹栈处,添加获得函数运行结束时间的函数,将得到的当前函数运行的结束时间做弹栈操作,从而计算出所述当前函数的运行时间。
7.一种可迁移函数执行时间的获得系统,其特征在于,该系统包括:
静态分析模块,用于对反汇编工具(Dexdump)源码进行修改,获得应用程序的可执行程序的函数调用关系,根据限制条件和所述函数调用关系进行预处理,获得需要计算运行时间的可迁移函数;
动态分析模块,用于加载计算运行时间函数,获得所述可迁移函数的运行时间。
8.根据权利要求7所述的系统,其特征在于:
所述可迁移函数是指与用户界面(UI)、硬件资源以及网络不相关的非本地(NATIVE)函数;和/或
所述限制条件包括以下条件中的一种或几种:
应用程序中的函数与本地设备有交互;
应用程序中的函数与输入输出(IO)有交互;
应用程序中的函数与网络有交互;以及
应用程序中的函数为NATIVE函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210305374.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种酒厂制酒用水密封酒缸
- 下一篇:一种立式绕线器