[发明专利]调用关系分析方法、装置、存储介质与电子设备在审
| 申请号: | 202211125111.6 | 申请日: | 2022-09-13 |
| 公开(公告)号: | CN115454386A | 公开(公告)日: | 2022-12-09 |
| 发明(设计)人: | 杜往泽;袁定波 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20 |
| 代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉 |
| 地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 调用 关系 分析 方法 装置 存储 介质 电子设备 | ||
1.一种调用关系分析方法,其特征在于,所述方法包括:
获取待分析对象的一个或多个目标关联对象,并确定各所述目标关联对象所对应的功能模块,所述目标关联对象为直接或间接调用所述待分析对象的对象;
基于各所述目标关联对象所对应的功能模块之间的相关性,对各所述目标关联对象所对应的功能模块进行信息聚合处理,以确定所述待分析对象的调用分析结果。
2.根据权利1所述的方法,其特征在于,所述获取待分析对象的一个或多个目标关联对象,包括:
根据所述待分析对象的目标调用深度,确定所述待分析对象的目标关联对象。
3.根据权利1所述的方法,其特征在于,所述获取待分析对象的一个或多个目标关联对象,包括:
通过查询调用关系数据库,获取所述待分析对象的一个或多个目标关联对象。
4.根据权利要求3所述的方法,其特征在于,所述待分析对象为目标软件中任一函数或任一文件,在获取待分析对象的一个或多个目标关联对象之前,所述方法还包括:
采集目标软件的调用链信息,所述调用链信息包括调用节点对应的函数名称、调用节点所属文件的文件名称、调用节点对应的函数调用关系以及调用节点所属文件的文件调用关系;
将所述目标软件的调用链信息、所述调用节点对应的功能模块信息以及所述调用节点所属文件对应的功能模块信息存储至所述调用关系数据库。
5.根据权利要求4所述的方法,其特征在于,所述目标软件的调用链信息从所述目标软件所在客户端采集,其中所述目标软件所在客户端内置有软件开发工具包SDK,所述SDK通过在所述目标软件运行过程中监测函数调用事件获取到所述目标软件的调用链信息。
6.根据权利要求5所述的方法,其特征在于,所述SDK在获取到所述目标软件的调用链信息后,对所述调用链信息中的异常数据进行修正。
7.根据权利要求4所述的方法,其特征在于,在采集目标软件的调用链信息之后,所述方法还包括:
对所述目标软件的调用链信息进行清洗。
8.根据权利要求7所述的方法,其特征在于,所述对所述目标软件的调用链信息进行清洗,包括:
若所述调用节点所属文件的文件名称为基于代码库的相对路径,将所述调用节点所属文件的文件名称修改为基于代码库的绝对路径;和/或
若所述调用节点对应的函数名称缺少类名信息,则在所述调用节点对应的函数名称中补充类名信息;和/或
清除所述调用链信息中的底层函数调用信息。
9.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定所述调用节点对应的历史变更信息;
根据所述调用节点对应的历史变更信息,确定所述调用节点对应的功能模块;
将所述调用节点对应的历史变更信息以及对应的功能模块信息存储至所述调用关系数据库。
10.根据权利要求9所述的方法,其特征在于,所述确定所述调用节点对应的历史变更信息,包括:
获取所述调用节点所属文件中所述调用节点对应的代码段位置,并查询所述代码段位置的历史变更记录,得到所述调用节点对应的历史变更信息。
11.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述调用节点所属文件的文件名称,确定所述调用节点所属文件对应的功能模块;
将所述调用节点所属文件对应的功能模块信息存储至所述调用关系数据库。
12.根据权利要求1所述的方法,其特征在于,所述确定各所述目标关联对象所对应的功能模块,包括:
通过查询调用关系数据库,获取各所述目标关联对象所对应的功能模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211125111.6/1.html,转载请声明来源钻瓜专利网。





