[发明专利]一种函数调用关系的识别方法及装置有效
申请号: | 201410675750.9 | 申请日: | 2014-11-21 |
公开(公告)号: | CN105677311B | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 刘洪刚;杨颖;池垂富;夏冰;韩俊焜;姚骏 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 李琴 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 调用 关系 识别 方法 装置 | ||
1.一种函数调用关系的识别方法,其特征在于,包括以下步骤:
S1、获取开发框架类库中的每个类;
S2、依据所述每个类确定类继承关系;
S3、依据所述类继承关系确定每个类中包含的四种函数,建立函数关系表,其中,四种函数分别为类自定义函数、协议函数、实例函数及分类函数;
S4、从所述四种函数中去除所述协议函数;
S5、识别任一函数的调用关系,具体包括:
S51、判断所述任一函数是否被调用,若是,则转至步骤S52;
S52、识别所述任一函数的调用关系;
所述步骤S52进一步包括以下子步骤:
S521、遍历所述函数关系表,判断所述任一函数是否只包含在一个类中,若是,执行步骤S522,若否,转至步骤S523;
S522、所述任一函数确定为被包含的类的成员函数;
S523、遍历所述任一函数所属类的类名,判断所述任一函数所属的类名是否与所述任一函数所属类中所包含的类的类名相同,若是,执行步骤S524,若否,转至步骤S525;
S524、所述任一函数确定为与其所属类中所包含的类名相同的类的成员函数;
S525、遍历所述任一函数所属类的父类,判断所述父类中是否包含与所述任一函数所属的类名相同的类,若是,执行步骤S526;
S526、所述任一函数确定为所述父类中包含与所述任一函数所属的类名相同的类的成员函数。
2.根据权利要求1所述的识别方法,其特征在于,在所述步骤S1中,每个类包括公有类、自定义类及系统类。
3.根据权利要求2所述的识别方法,其特征在于,所述步骤S1包括以下子步骤:
S11、根据所述开发框架中的头文件获取所述公有类;
S12、反编译所述开发框架中的二进制文件,获取所述自定义类及系统类。
4.根据权利要求3所述的识别方法,其特征在于,在所述步骤S3中,从所述二进制文件中,通过自定义字段获取所述类自定义函数,通过协议字段获取所述协议函数,通过实例字段获取所述实例函数,通过分类字段获取所述分类函数。
5.一种函数调用关系的识别装置,其特征在于,包括:
获取模块,用于获取开发框架类库中的每个类;
确定模块,用于依据所述每个类确定类继承关系;
建立模块,用于依据所述类继承关系确定每个类中包含的四种函数,建立函数关系表,其中,四种函数分别为类自定义函数、协议函数、实例函数及分类函数;
去除模块,用于从所述四种函数中去除所述协议函数;
识别模块,用于识别任一函数的调用关系,所述识别模块具体包括:
判断模块,用于判断所述任一函数是否被调用;
调用关系识别模块,用于识别所述任一函数的调用关系;其中,所述调用关系识别模块包括:
第一遍历模块,用于遍历所述函数关系表,判断所述任一函数是否只包含在一个类中;
第一确定模块,用于所述任一函数确定为被包含的类的成员函数;
第二遍历模块,用于遍历所述任一函数所属类的类名,判断所述任一函数所属的类名是否与所述任一函数所属类中所包含的类的类名相同;
第二确定模块,用于所述任一函数确定为与其所属类中所包含的类名相同的类的成员函数;
第三遍历模块,用于遍历所述任一函数所属类的父类,判断所述父类中是否包含与所述任一函数所属的类名相同的类;
第三确定模块,用于所述任一函数确定为所述父类中包含与所述任一函数所属的类名相同的类的成员函数。
6.根据权利要求5所述的识别装置,其特征在于,每个类包括公有类、自定义类及系统类;所述获取模块包括:
第一获取子模块,用于根据所述开发框架中的头文件获取所述公有类;
第二获取子模块,用于反编译所述开发框架中的二进制文件,获取所述自定义类及系统类。
7.根据权利要求6所述的识别装置,其特征在于,所述建立模块还用于从所述二进制文件中,通过自定义字段获取所述类自定义函数,通过协议字段获取所述协议函数,通过实例字段获取所述实例函数,通过分类字段获取所述分类函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410675750.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:消息通知过滤方法及装置
- 下一篇:一种基于双稳态反应的CRNs加法器计算方法