代码分析方法、系统、装置、电子设备及存储介质制造方法及图纸

技术编号:39329539 阅读:6 留言:0更新日期:2023-11-12 16:06
本申请实施例提供一种代码分析方法、系统、装置、电子设备及存储介质,涉及计算机技术领域,通过确定基本代码数据的调用链路数据,获取待分析数据的提交记录数据,基于待分析数据的提交记录数据以及调用链路数据,确定待分析数据对应的变更调用链路数据,基于调用链路数据,对变更调用链路数据进行层级分析,得到待分析数据的变更结果,显示变更结果;本申请实施例通过链路分析,可以及时准确定位出待分析数据相对于基本代码数据之间的变更情况,并且通过层级分析,可以快速定位出每次提交的提交记录数据,对当前应用基本代码数据的相关产品功能造成的影响,提高代码改动分析结果准确度,同时提高代码分析的效率。同时提高代码分析的效率。同时提高代码分析的效率。

【技术实现步骤摘要】
代码分析方法、系统、装置、电子设备及存储介质


[0001]本申请涉及计算机
,更具体地,涉及一种代码分析方法、系统、装置、电子设备及存储介质。

技术介绍

[0002]在金融产品更新迭代时,由于同一个基本代码被多个产品共同使用,当其中任意产品的代码更新迭代时,可能会造成基本代码的更改,就会造成使用该基本代码的其他未更新的产品的使用。因此在产品的代码更新迭代时,需要根据代码更新迭代的产品进行代码改动分析,评估其涉及到的影响面。
[0003]现有的代码改动分析方法通常是通过代码分析工具进行人工评估,然而目前的代码分析工具对于集成大规模产品的金融系统时,其分析准确度受限,并且需要多次采用各编码类型对应的不同的代码分析工具分别进行代码分析,费时费力,由于是人工手动执行,更费时间与精力,增加了开发人员、测试人员的工作量,影响到代码分析的效率。

技术实现思路

[0004]鉴于上述问题,本申请实施例提供一种代码分析方法、系统、装置、电子设备及存储介质,以改善相关技术中代码改动分析结果准确度受限且效率低的问题。
[0005]根据本申请实施例的一个方面,提供了一种代码分析方法,所述方法包括:
[0006]确定基本代码数据的调用链路数据;
[0007]获取待分析数据的提交记录数据,基于所述待分析数据的提交记录数据以及所述调用链路数据,确定所述待分析数据对应的变更调用链路数据;
[0008]基于所述调用链路数据,对所述变更调用链路数据进行层级分析,得到所述待分析数据的变更结果,显示所述变更结果。
[0009]根据本申请实施例的一个方面,提供一种代码分析系统,所述代码分析系统包括服务端和代码服务器;
[0010]所述服务端,用于确定基本代码数据的调用链路数据,访问所述代码服务器,获取待分析数据的提交记录数据,基于所述待分析数据的提交记录数据以及所述调用链路数据,确定所述待分析数据对应的变更调用链路数据,基于所述调用链路数据,对所述变更调用链路数据进行层级分析,得到所述待分析数据的变更结果,显示所述变更结果。
[0011]根据本申请实施例的一个方面,提供一种代码分析装置,所述装置包括:
[0012]链路生成模块,用于确定基本代码数据的调用链路数据;
[0013]分支分析模块,用于获取待分析数据的提交记录数据,基于所述待分析数据的提交记录数据以及所述调用链路数据,确定所述待分析数据对应的变更调用链路数据;
[0014]变更解析模块,用于基于所述调用链路数据,对所述变更调用链路数据进行层级分析,得到所述待分析数据的变更结果,显示所述变更结果。
[0015]根据本申请实施例的一个方面,提供一种电子设备,包括存储器和处理器;所述存
储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行上述代码分析方法中的操作。
[0016]根据本申请实施例的一个方面,提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述代码分析方法中的步骤。
[0017]本申请实施例提供一种代码分析方法、系统、装置、电子设备及存储介质,涉及计算机
,通过确定基本代码数据的调用链路数据;获取待分析数据的提交记录数据,基于待分析数据的提交记录数据以及调用链路数据,确定待分析数据对应的变更调用链路数据;基于调用链路数据,对变更调用链路数据进行层级分析,得到待分析数据的变更结果,显示变更结果;本申请实施例通过对基本代码以及待分析数据的提交记录数据进行链路分析,可以及时准确定位出待分析数据相对于基本代码数据之间的变更情况,并且通过层级分析,可以快速定位出每次提交的提交记录数据,对当前应用基本代码数据的相关产品功能造成的影响,从而判断是否需要进行功能回归,提高代码改动分析结果准确度,同时提高代码分析的效率。
附图说明
[0018]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是本申请实施例提供的代码分析系统的结构示意图;
[0020]图2是本申请实施例提供的服务端的结构示意图;
[0021]图3是本申请实施例提供的代码分析方法的流程示意图;
[0022]图4是本申请实施例提供的层级分析方法的流程示意图;
[0023]图5是本申请实施例提供的调用链路数据的获取方法的流程示意图;
[0024]图6是本申请实施例提供的调用链表的示意图;
[0025]图7是本申请实施例提供的提交记录数据获取方法的流程示意图;
[0026]图8是本申请实施例提供的变更调用链路数据确定方法的流程示意图;
[0027]图9是本申请实施例提供的代码分析装置的框图;
[0028]图10是本申请实施例提供的适于用来实现本申请实施例的电子设备的结构示意图。
具体实施方式
[0029]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0030]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方
法、装置、实现或者操作以避免模糊本申请的各方面。
[0031]附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0032]附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0033]需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0034]如图1所示,图1是本申请实施例提供的代码分析系统架构示意图,所示的代码分析系统包括服务端和代码服务器。
[0035]其中,服务端可以是独立的服务器,也可以是多个服务器组成的服务器集群。服务端包括但不限于应用服务器、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码分析方法,其特征在于,所述方法包括:确定基本代码数据的调用链路数据;获取待分析数据的提交记录数据,基于所述待分析数据的提交记录数据以及所述调用链路数据,确定所述待分析数据对应的变更调用链路数据;基于所述调用链路数据,对所述变更调用链路数据进行层级分析,得到所述待分析数据的变更结果,显示所述变更结果。2.根据权利要求1所述的方法,其特征在于,所述基于所述待分析数据的提交记录数据以及所述调用链路数据,确定所述待分析数据对应的变更调用链路数据,包括:对所述待分析数据的提交记录数据进行分析,确定所述提交记录数据中的变更文件的提交时间距离当前时间最短的目标变更文件;对所述目标变更文件进行解析,确定所述待分析数据的变更记录数据,所述变更记录数据中包括变更的类地址、类方法以及变更等级;将所述变更记录数据与所述调用链路数据进行比对,确定所述变更记录数据所对应的变更节点,以及所述变更节点所在的变更调用链路;汇总各所述变更调用链路,得到变更调用链路数据。3.根据权利要求2所述的方法,其特征在于,所述将所述变更记录数据与所述调用链路数据进行比对,确定所述变更记录数据所对应的变更节点,以及所述变更节点所在的变更调用链路,包括:将所述变更记录数据中变更的类地址、类方法与所述调用链路数据进行比对,确定所述调用链路数据中是否与所述变更的类地址、类方法对应的节点;若所述调用链路数据中存在与所述变更的类地址、类方法对应的节点,则将所述节点确定为变更节点,根据所述调用链路数据确定所述变更节点所在的变更调用链路;若所述调用链路数据中不存在与所述变更的类地址、类方法对应的节点,则根据所述变更的类地址、类方法对所述调用链路数据中的节点进行筛选,确定变更节点,根据所述调用链路数据确定所述变更节点所在的变更调用链路。4.根据权利要求3所述的方法,其特征在于,所述根据所述变更的类地址、类方法对所述调用链路数据中的节点进行筛选,确定变更节点,包括:根据所述变更的类地址、类方法所对应的类名称以及注入点名称;基于所述类名称以及所述注入点名称对所述调用链路数据中的节点进行筛选,确定所述调用链路数据中的节点中与所述类名称以及所述注入点名称匹配的候选节点,以及各所述候选节点的概率;将概率大于预设概率阈值的候选节点确定为变更节点。5.根据权利要求1所述的方法,其特征在于,所述获取待分析数据的提交记录数据,包括:响应代码分析请求,确定所述代码分析请求携带的待分析数据的代码标识信息以及时间信息;访问代码服务器,获取所述代码标识信息对应的初始提交记录以及各所述初始提交记录对应的提交时间;基于各所述初始提交记录对应的提交时间,将所述提交时间满足所述时间信息的目标
初始提交记录,确定为所述待分析数据的提交记录数据。6.根据权利要求1所述的方法,其特征在于,所述基于所述调用链路数据,对所述变更调用链路数据进行层级分析,得到所述待分析数据的变更结果,包括:根据所述调用链路数据,对所述变更调用链路数据中每条变更调用链路进行层级分析,确定各所述变更调用链路的顶层调用节点;基于预设的接口配置数据...

【专利技术属性】
技术研发人员:李邵博游锦武黎宇翔梁城栋
申请(专利权)人:广州TCL互联网小额贷款有限公司
类型:发明
国别省市:

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

1