[发明专利]获得系统代码修改后受影响的对外提供服务接口的方法在审
申请号: | 202110408988.5 | 申请日: | 2021-04-16 |
公开(公告)号: | CN112817637A | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 黄勇 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/72;G06F8/30;G06F8/36;G06F9/448 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 濮云杉 |
地址: | 610094 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获得 系统 代码 修改 影响 对外 提供 服务 接口 方法 | ||
本发明涉及软件开发和软件测试领域,尤其是获得系统代码修改后受影响的对外提供服务接口的方法,包括:步骤1:标识出系统对外提供服务接口方法;步骤2:获得系统代码的不同版本之间修改代码后受影响的方法列表及对外提供服务方法列表;步骤3:解析代码的字节码获得方法的调用链路;步骤4:获得系统代码修改后受影响到的对外提供服务接口的方法列表。本发明的有益效果如下:通过标识对外提供服务接口方法,并对比不同版本的差异及分析调用链路,整合各步骤获得的信息,从而实现了全自动获得代码修改后受影响到的对外提供服务接口。
技术领域
本发明涉及软件开发和软件测试领域,尤其是获得系统代码修改后受影响的对外服务接口的方法。
背景技术
当前系统代码修改后,如果需要了解修改后的代码对外部服务的影响,主要是通过人工查看系统改动的代码,通过代码编辑器的方法调用跳转查看功能,对方法的层层查看,最后通过人为判断确定代码修改后受影响的对外服务接口。该种方法存在速度慢,且不能全面的了解代码修改后受影响的所有对外服务接口。
综上所述,现有技术效率低且准确率低,因此本发明提出了获得系统代码修改后受影响的对外服务接口的方法可以解决此问题。
发明内容
针对上述现有技术中存在的不足,本发明目的在于提供获得系统代码修改后受影响的对外服务接口的方法,解决现有技术效率低且准确率低的问题。
为解决上述问题,本发明公开了获得系统代码修改后受影响的对外服务接口的方法,包括以下步骤:
步骤1:标识出系统对外提供服务接口方法;步骤2:获得系统代码的不同版本之间修改代码后受影响的方法列表及对外提供服务方法列表;步骤3:解析代码的字节码获得方法的调用链路;步骤4:获得系统代码修改后受影响到的对外提供服务接口的方法列表。
作为优选,步骤1具体如下:
梳理出系统所有对外提供服务的接口方法,在每一个接口方法的代码注释里加一个标签注释符,用于标注该接口方法是一个提供给外部调用的方法。
作为优选,步骤2具体如下:
2.1 通过接受系统代码git分支的两个版本的commitid,获得系统的不同版本的源代码;将获得的两个版本的系统源代码分别保存在version0与version1目录下;
2.2 分别遍历version0与version1目录下的所有的Java代码,通过解析java代码,生成代码的抽象语法树AST,进一步解析抽象语法树,将每一个java文件的方法相关信息解析出来,获得包名、类名、方法名、方法参数、方法体内容和方法注释的各种方法相关的信息,并保存在一个专门的方法数据结构里;
2.3 对步骤2.2获得的方法信息进行进一步处理,将方法的包名、类名、方法名、方法参数字符串合并组成一个方法标识字符串,并对该方法标识字符串进行MD5计算,获得方法标识MD5值;同时对方法体内容进行MD5计算,获得方法体内容的MD5值,对信息进行保存;对于方法体内容,只保存方法体内容的MD5值,不保存方法体的原始内容,最后分别获得version0所有方法的数据结构及version1所有方法的数据结构;
2.4 对方法数据结构里的方法注释进行再处理,判断是否包含有对外服务接口方法标识;如果有,则将该方法标识为对外服务接口方法;
2.5 以步骤version0方法数据结构作为基准,同version1方法数据结构进行比对,找出version0里方法标识字符串MD5值与version1 里方法标识字符串MD5值相同的方法,使用该方法的方法内容MD5值进行比较,如果不相等,将标识该方法为已修改;将version0里方法标识字符串MD5值在version1 找不到的方法,标识为方法已删除;将在version0里没有,但是在version1有的方法,标识为新增方法;已修改方法、已删除方法、新增方法即为系统代码修改后受影响的方法。
作为优选,步骤3具体如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110408988.5/2.html,转载请声明来源钻瓜专利网。