生成代码调用关系链视图的方法、存储介质及设备技术

技术编号:36792526 阅读:17 留言:0更新日期:2023-03-08 22:46
本申请提供了生成代码调用链视图方法。所述生成代码调用链视图方法包括:从项目源码管理仓库中获得应用相关的项目源码;将获取得到的项目源码生成程序压缩包;解压所述程序压缩包得到若干配置文件;根据接口与方法之间的依赖关系创建接口方法列表;根据类名与方法之间的依赖关系和所述接口方法列表创建父类与方法关系列表;根据各配置文件的方法与各配置文件之间的调用关系创建方法调用关系列表;根据定义接口的实现方法与接口之间的依赖关系创建接口实现关系列表;以及根据所述父类与方法关系列表、所述方法调用关系列表、所述接口实现关系列表生成类、方法、接口之间的调用关系图。此外,本申请还提供了一种计算机可读存储介质及计算机设备。介质及计算机设备。介质及计算机设备。

【技术实现步骤摘要】
生成代码调用关系链视图的方法、存储介质及设备


[0001]本申请涉及软件开发
,尤其涉及一种自动生成代码调用关系链视图的方法、存储介质及设备。

技术介绍

[0002]在软件开发过程中,当需要对当前项目的代码进行分析代码执行流程、漏洞分析时,开发人员梳理出整个项目代码中方法之间的调用链关系,通过方法调用关系更好地辅助对整个项目代码的分析。通常由人工完成项目中方法间调用链关系的梳理,但是现有技术下,人工梳理存在执行上的问题:其一,人工review项目代码,既需要花费大量的人工成本与时间成本,又由于对整个项目代码的不熟悉,容易出现漏误梳理的问题。其二,项目代码的更新过程中还需要同时更新项目的方法调用链关系,维护成本高,项目的代码量巨大。现有技术下难以对项目的方法调用链关系进行高效、准确地梳理。

技术实现思路

[0003]本申请提供了一种生成代码调用关系链视图的方法、存储介质及设备,可自动执行,高效准确地梳理代码调用关系。
[0004]第一方面,本申请实施例提供一种自动生成代码调用链视图的方法。所述自动生成代码调用链视图的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种自动生成代码调用链视图的方法,其特征在于,所述自动生成代码调用链视图的方法包括:从项目源码管理仓库中获得应用相关的项目源码;将获取得到的项目源码生成程序压缩包;解压所述程序压缩包得到若干配置文件,每一个项目源码对应一个配置文件,每一个配置文件中包括方法、类名、接口、以及配置文件的路径;获取所述配置文件中的接口与方法之间的依赖关系,并根据接口与方法之间的依赖关系创建接口方法列表,其中,所述接口方法列表用于描述接口与方法之间的依赖关系;获取所述配置文件中的类名与方法之间的依赖关系,并根据类名与方法之间的依赖关系、以及所述接口方法列表创建父类与方法关系列表,其中,所述父类与方法关系列表用于描述类名与方法之间的依赖关系;获取各配置文件的方法与各配置文件之间的调用关系,并根据各配置文件的方法与各配置文件之间的调用关系创建方法调用关系列表,其中,所述方法调用关系列表用于描述方法与配置文件之间的调用关系;获取定义接口的实现方法与接口之间的依赖关系,并根据定义接口的实现方法与接口之间的依赖关系创建接口实现关系列表,其中,所述接口实现关系列表用于描述定义接口的实现方法与接口之间的依赖关系;以及根据所述父类与方法关系列表、所述方法调用关系列表、所述接口实现关系列表生成类、方法、接口之间的调用关系图。2.如权利要求1所述的自动生成代码调用链视图的方法,其特征在于,获取所述配置文件中的接口与方法之间的依赖关系,并根据接口与方法之间的依赖关系创建接口方法列表,具体包括:调用第一方法获得每一配置文件中的接口、方法、以及接口和方法之间的依赖关系得到若干第一依赖关系组,每一个第一依赖关系组包括第一依赖项和第一被依赖项,所述第一依赖项为第一依赖关系组中的一个接口或者方法,所述第一被依赖项为第一依赖关系组中的另一个接口或者方法;将各组中的第一依赖项放置在接口方法列表的一栏,将各组中的第一被依赖项放置在接口方法列表的另一栏中得到所述接口方法列表。3.如权利要求2所述的自动生成代码调用链视图的方法,其特征在于,所述第一方法为interfacesList()方法,所述配置文件为.class文件。4.如权利要求2所述的自动生成代码调用链视图的方法,其特征在于,获取所述配置文件中的类名与方法之间的依赖关系,并根据类名与方法之间的依赖关系、以及所述接口方法列表创建父类与方法关系列表,具体包括:调用第二方法获得每一配置文件中的类名、方法、以及类名和方法之间的依赖关系,与所述类名和所述接口方法列表中的方法中的接口方法之间的依赖关系结合构建成若干第二依赖关系组,每一个第二依赖关系组包括第二依赖项和第二被依赖项,所述第二依赖项为第二依赖关系组中的一个类名或者方法,所述第二被依赖项为第二依赖关系组中的另一个类名或者方法;将各组中的第二依赖项放置在父类与方法关系列表的一栏,将各组中的第二被依赖项
放置在父类与方法关系列表的另一栏中得到所述父类与方法关系列表。5.如权利要求4所述...

【专利技术属性】
技术研发人员:周小亮
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1