一种基于Git变更信息的代码影响范围分析方法技术

技术编号:42119588 阅读:37 留言:0更新日期:2024-07-25 00:38
本发明专利技术提供了一种基于Git变更信息的代码影响范围分析方法包括:利用gitdiff方法获取两个版本代码之间的变更信息;使用正则化方法提取变更和新增方法的方法名及所在的类名;S3编译更新后的代码以生成对应的Class文件;基于Class层次分析算法构建调用图;根据提取的方法名和类名在调用图中查找对应的节点;分析所述节点的前驱调用链和后驱调用链;将调用链分析结果输出为Json文件格式。本发明专利技术优点为:降低判断环节不可靠性,自动搜索对应代码的影响范围,支持查看类似IDEA的前驱调用节点或后驱调用节点或全链条节点;有效确定新发版本影响范围,使测试明确重点测试模块;有效确定上下游的联调范围。

【技术实现步骤摘要】

本专利技术涉及计算机,具体来说是一种基于git变更信息的代码影响范围分析方法。


技术介绍

1、当前的代码影响范围及分析主要分为人工分析和工具分析,人工代码影响范围分析大多是依靠开发人员的经验来判断新增或者变更的代码影响的范围,存在着误判、漏判、多判的风险,且一些复杂且存在时间久的代码人工判断也存在着链路不清,导致一个模块的变动影响到了其他模块的问题。而idea等工具的工具分析能力也只能获取到变更代码的前驱调用链即调用当前方法的方法,并且只能人工获取,在面对大规模更新的场景下,效率较低。除此之外,仅仅使用git工具的话,也能分析影响范围,但是只能获取到变更的那个节点,无法获取到变更节点对应的影响范围,且大量的变更也降低人工判断的效率。

2、为了帮助开发人员和测试人员确定新增和变更代码的在新版本代码中的影响范围,需要设计一种基于git变更信息的代码影响范围分析方法。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,提供一种基于git变更信息的代码影响范围分析方法,实现解决在代码更新后在大规模本文档来自技高网...

【技术保护点】

1.一种基于Git变更信息的代码影响范围分析方法,其特征在于所述方法包括

2.如权利要求1所述一种基于Git变更信息的代码影响范围分析方法,其特征在于所述步骤S1具体如下:通过设置不同的commitid获取两个版本的代码变更信息,利用Jgit框架读取相关的信息,获取到gitdiff的信息,信息包括新增的方法及其所在的类和变更的方法和所在的类。

3.如权利要求1所述一种基于Git变更信息的代码影响范围分析方法,其特征在于所述步骤S2具体如下:利用正则化代码提取对应的方法,包括方法名、方法返回类型、方法申明类型、方法是否为静态变量。

4.如权利要求1所述一...

【技术特征摘要】

1.一种基于git变更信息的代码影响范围分析方法,其特征在于所述方法包括

2.如权利要求1所述一种基于git变更信息的代码影响范围分析方法,其特征在于所述步骤s1具体如下:通过设置不同的commitid获取两个版本的代码变更信息,利用jgit框架读取相关的信息,获取到gitdiff的信息,信息包括新增的方法及其所在的类和变更的方法和所在的类。

3.如权利要求1所述一种基于git变更信息的代码影响范围分析方法,其特征在于所述步骤s2具体如下:利用正则化代码提取对应的方法,包括方法名、方法返回类型、方法申明类型、方法是否为静态变量。

4.如权利要求1所述一种基于git变更信息的代码影响范围分析方法,其特征在于所述步骤s4具体如下:输入对应的class文件产物的路径,利...

【专利技术属性】
技术研发人员:邱伟国赵洋明王辉高昀
申请(专利权)人:上证所信息网络有限公司
类型:发明
国别省市:

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

1