[发明专利]基于路径的代码变更分析方法、装置及设备在审
申请号: | 201811451405.1 | 申请日: | 2018-11-30 |
公开(公告)号: | CN109582300A | 公开(公告)日: | 2019-04-05 |
发明(设计)人: | 朱建华 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 杨移 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码变更 变更 装置及设备 路径分析 路径确定 监测 分析 | ||
1.一种基于路径的代码变更分析方法,包括:
对代码进行监测;
当监测到所述代码存在变更时,分别获取根据变更前的代码生成的第一全量路径和根据变更后的代码生成的第二全量路径,所述全量路径包括至少一条路径,所述路径包括至少一个节点;
根据所述第一全量路径的节点和所述第二全量路径的节点确定存在变更影响的路径;
根据预设的路径影响策略推荐所述存在变更影响的路径对应的变更影响。
2.如权利要求1所述的基于路径的代码变更分析方法,根据代码生成全量路径包括:
将所述代码编译生成字节码,并从所述字节码中识别出所述代码中的业务逻辑代码;
将所述业务逻辑代码进行归并,生成业务逻辑代码块;
根据所述业务逻辑代码块中的执行路径生成所述代码对应的全量路径。
3.如权利要求1所述的基于路径的代码变更分析方法,根据所述第一全量路径的节点和所述第二全量路径的节点确定存在变更影响的路径包括:
遍历所述第一全量路径的节点和所述第二全量路径的节点确定存在变更的节点;
根据所述存在变更的节点确定出所述存在变更影响的路径。
4.如权利要求1所述的基于路径的代码变更分析方法,对代码进行监测包括:对代码的提交请求进行监测。
5.如权利要求4所述的基于路径的代码变更分析方法,对代码的提交请求进行监测包括:异步对代码的提交请求进行监测。
6.一种基于路径的代码变更分析装置,包括:监测模块、获取模块、确定模块和推荐模块;
所述监测模块用于对代码进行监测,并当监测到所述代码存在变更时调用所述获取模块;
所述获取模块用于分别获取根据变更前的代码生成的第一全量路径和根据变更后的代码生成的第二全量路径,所述全量路径包括至少一条路径,所述路径包括至少一个节点;
所述确定模块用于根据所述第一全量路径的节点和所述第二全量路径的节点确定存在变更影响的路径;
所述推荐模块用于根据预设的路径影响策略推荐所述存在变更影响的路径对应的变更影响。
7.如权利要求6所述的基于路径的代码变更分析装置,所述基于路径的代码变更分析装置还包括编译模块、归并模块和路径生成模块;
所述编译模块用于将所述代码编译生成字节码,并从所述字节码中识别出所述代码中的业务逻辑代码;
所述归并模块用于将所述业务逻辑代码进行归并,生成业务逻辑代码块;
所述路径生成模块用于根据所述业务逻辑代码块中的执行路径生成所述代码对应的全量路径。
8.如权利要求6所述的基于路径的代码变更分析装置,所述基于路径的代码变更分析装置还包括遍历模块;
所述遍历模块用于遍历所述第一全量路径的节点和所述第二全量路径的节点确定存在变更的节点;
所述确定模块用于根据所述存在变更的节点确定出所述存在变更影响的路径。
9.如权利要求6所述的基于路径的代码变更分析装置,所述监测模块用于对代码的提交请求进行监测。
10.如权利要求9所述的基于路径的代码变更分析装置,所述监测模块用于异步对代码的提交请求进行监测。
11.一种基于路径的代码变更分析的电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
对代码进行监测;
当监测到所述代码存在变更时,分别获取根据变更前的代码生成的第一全量路径和根据变更后的代码生成的第二全量路径,所述全量路径包括至少一条路径,所述路径包括至少一个节点;
根据所述第一全量路径的节点和所述第二全量路径的节点确定存在变更影响的路径;
根据预设的路径影响策略推荐所述存在变更影响的路径对应的变更影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811451405.1/1.html,转载请声明来源钻瓜专利网。