提测代码风险范围检测方法、装置、设备及存储介质制造方法及图纸

技术编号:38582457 阅读:14 留言:0更新日期:2023-08-26 23:26
本公开提供了一种提测代码风险范围检测方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法包括:解析提测代码编译包,生成方法间调用方法关系和接口信息;基于图数据库,根据方法间调用方法关系和接口信息生成调用链;基于反射技术,根据提测代码编译包,获取接口参数信息;根据代码修改信息、调用链、接口参数信息,生成代码风险报告。本公开实施例能够通过代码变更信息、影响范围来评估风险,提高检测提测代码风险范围效率。提高检测提测代码风险范围效率。提高检测提测代码风险范围效率。

【技术实现步骤摘要】
提测代码风险范围检测方法、装置、设备及存储介质


[0001]本公开涉及计算机
,尤其涉及一种提测代码风险范围检测方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着软件流程的不断规范,提测也变为软件生命周期中重要的环节,目前,提测方式为:通过工具手动编写提测信息后提测,提测信息包含:提测分支、提测新功能等内容,不能知晓代码变更信息、影响范围来评估风险,提测是否有风险完全依赖于开发人员主观性提供,增加了风险的不确定性。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]本公开提供一种提测代码风险范围检测方法、装置、电子设备及计算机可读存储介质,至少在一定程度上克服相关技术中检测提测代码风险范围效率低的问题。
[0005]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0006]根据本公开的一个方面,提供一种提测代码风险范围检测方法,包括:解析提测代码编译包,生成方法间调用方法关系和接口信息;基于图数据库,根据所述方法间调用方法关系和接口信息生成调用链;基于反射技术,根据所述提测代码编译包,获取接口参数信息;根据代码修改信息、所述调用链、所述接口参数信息,生成代码风险报告。
[0007]在本公开的一个实施例中,所述解析提测代码编译包,生成方法间调用方法关系和接口信息包括:解析所述提测代码编译包,生成对象解析类信息;根据所述对象解析类信息,生成方法间调用方法关系和接口信息。
[0008]在本公开的一个实施例中,所述基于反射技术,根据所述提测代码编译包,获取接口参数信息包括:反射获取变动的调用链上的对象解析类信息;判断所述对象解析类信息是否为json类型;若是,则根据所述对象解析类信息并根据所述对象解析类信息的类型深度遍历生成接口参数信息;否则,通过所述注解信息获取接口参数信息。
[0009]在本公开的一个实施例中,还包括:通过分支或提交标识获取所述代码修改信息,其中,所述代码修改信息包括:类名、方法名、方法修改类型、修改方法或方法path。
[0010]在本公开的一个实施例中,所述根据所述对象解析类信息,生成方法间调用方法关系和接口信息包括:对解析后的所述对象解析类信息的开源包、降噪方法进行过滤,生成方法间调用方法关系和接口信息。
[0011]在本公开的一个实施例中,还包括:数据库保存项目名称、应用或配置,所述配置包括:接口地址、采集包名、过滤包名或模糊策略。
[0012]在本公开的一个实施例中,所述接口信息包括:类名、方法path或方法大小。
[0013]在本公开的一个实施例中,所述接口参数信息包括:方法path、请求类型、接口注释或接口地址。
[0014]在本公开的一个实施例中,所述代码风险报告包括接口变更信息、接口维护信息、代码修改行数信息、代码方法信息;接口变更信息包括:新增接口信息或修改接口信息。
[0015]根据本公开的另一个方面,还提供了一种提测代码风险范围检测装置,包括:方法关系生成模块、调用链生成模块、风险报告生成模块;
[0016]方法关系生成模块,解析提测代码编译包,生成方法间调用方法关系和接口信息;
[0017]调用链生成模块,基于图数据库,根据所述生成方法间调用方法关系和接口信息生成调用链;
[0018]接口参数获取模块,基于反射技术,根据所述提测代码编译包,获取接口参数信息;
[0019]风险报告生成模块,根据代码修改信息、所述调用链、所述接口参数信息,生成代码风险报告。
[0020]根据本公开的另一个方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述提测代码风险范围检测方法。
[0021]根据本公开的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的提测代码风险范围检测方法。
[0022]本公开的实施例所提供的提测代码风险范围检测方法、装置、电子设备及计算机可读存储介质,解析提测代码编译包,生成方法间调用方法关系和接口信息;基于图数据库,根据方法间调用方法关系和接口信息生成调用链;基于反射技术,根据提测代码编译包,获取接口参数信息;根据代码修改信息、调用链、接口参数信息,生成代码风险报告,能够通过代码变更信息、影响范围来评估风险,提高检测提测代码风险范围效率。
[0023]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0024]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1示出本公开实施例中一种提测代码风险范围检测方法流程图;
[0026]图2示出本公开实施例中一种方法间调用方法关系和接口信息生成方法流程图;
[0027]图3示出本公开实施例中一种接口与实体类串联的调用链示意图;
[0028]图4示出本公开实施例中一种接口参数信息获取方法流程图;
[0029]图5示出本公开实施例中一种提测代码风险范围检测装置示意图;
[0030]图6示出本公开实施例中又一种提测代码风险范围检测方法流程图;
[0031]图7示出本公开实施例中再一种提测代码风险范围检测方法流程图;
[0032]图8示出本公开实施例中一种电子设备的结构框图。
具体实施方式
[0033]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
[0034]此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0035]下面结合附图及实施例对本示例实施方式进行详细说明。
[0036]首先,本公开实施例中提供了一种提测代码风险范围检测方法,该方法可以由任意具备计算处理能力的电子设备执行。
[0037]图1示出本公开实施例中一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提测代码风险范围检测方法,其特征在于,包括:解析提测代码编译包,生成方法间调用方法关系和接口信息;基于图数据库,根据所述方法间调用方法关系和接口信息生成调用链;基于反射技术,根据所述提测代码编译包,获取接口参数信息;根据代码修改信息、所述调用链、所述接口参数信息,生成代码风险报告。2.根据权利要求1所述的提测代码风险范围检测方法,其特征在于,所述解析提测代码编译包,生成方法间调用方法关系和接口信息包括:解析所述提测代码编译包,生成对象解析类信息;根据所述对象解析类信息,生成方法间调用方法关系和接口信息。3.根据权利要求2所述的提测代码风险范围检测方法,其特征在于,所述基于反射技术,根据所述提测代码编译包,获取接口参数信息包括:反射获取变动的调用链上的对象解析类信息;判断所述对象解析类信息是否为json类型;若是,则根据所述对象解析类信息并根据所述对象解析类信息的类型深度遍历生成接口参数信息;否则,通过所述注解信息获取接口参数信息。4.根据权利要求1所述的提测代码风险范围检测方法,其特征在于,还包括:通过分支或提交标识获取所述代码修改信息,其中,所述代码修改信息包括:类名、方法名、方法修改类型、修改方法或方法path。5.根据权利要求2所述的提测代码风险范围检测方法,其特征在于,所述根据所述对象解析类信息,生成方法间调用方法关系和接口信息包括:对解析后的所述对象解析类信息的开源包、降噪方法进行过滤,生成方法间调用方法关系和接口信息。6.根据权利要求1所述的提测代码风险范围检测方法,其特征在...

【专利技术属性】
技术研发人员:陈阔杨瑞颖李丹阳
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1