[发明专利]一种代码变更分析方法在审
| 申请号: | 202011405006.9 | 申请日: | 2020-12-02 |
| 公开(公告)号: | CN112379888A | 公开(公告)日: | 2021-02-19 |
| 发明(设计)人: | 张慧吉 | 申请(专利权)人: | 北京皮尔布莱尼软件有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/22;G06F16/25 |
| 代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 谢建云;赵爱军 |
| 地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 变更 分析 方法 | ||
1.一种代码变更分析方法,适于在计算设备中执行,所述计算设备与服务器链接,所述方法包括步骤:
从所述服务器中获取代码变更文件;
根据所述代码变更文件确定变更方法集合;以及
根据所述变更方法集合中的每个变更方法,获取与每个变更方法相对应的调用链以构造调用链集合。
2.如权利要求1所述的方法,所述方法还包括:
根据所述调用链集合来确定所述变更方法集合的影响域。
3.如权利要求1-2中任一项所述的方法,其中,所述从所述服务器中获取代码变更文件包括步骤:
从所述服务器中获取代码变更记录;以及
根据所述代码变更记录获取代码变更文件。
4.如权利要求1-3中任一项所述的方法,其中,所述根据所述代码变更文件确定变更方法集合包括步骤:
判断所述代码变更文件中是否包括脚本文件;以及
若所述代码变更文件不包括脚本文件,则不对所述代码变更文件进行处理。
5.如权利要求4所述的方法,其中,所述根据所述代码变更文件确定变更方法集合还包括步骤:
扫描所述代码变更文件,以确定变更部分的行数;
获取变更后的代码文件,构建与所述代码文件相对应的类文件语法树,根据所述语法树遍历与所述代码文件相对应的类文件,以确定在所述类文件中的方法起始和结束的行数;以及
根据所述变更部分的行数及所述类文件中的方法起始和结束的行数,确定所述变更方法集合。
6.如权利要求1-5中任一项所述的方法,其中,所述构造调用链集合包括步骤:
遍历所述变更方法集合中每个方法被直接调用或间接调用的代码;
根据调用所述方法的代码生成所述方法相对应的调用链;以及
根据所述方法相对应的调用链来构造所述调用链集合。
7.如权利要求6所述的方法,其中,所述根据调用所述方法的代码生成所述方法相对应的调用链包括步骤:
确定所述变更方法的签名;
解析所述类文件中的方法调用栈并校验所述方法调用栈中的方法的签名与所述变更方法的签名是否相同;以及
若与所述变更方法的签名相同,则将该类及方法加入所述调用链。
8.如权利要求7所述的方法,其中,所述根据调用所述方法的代码生成所述方法相对应的调用链还包括步骤:
确定加入所述调用链的方法的依赖方法,并将所述依赖方法加入所述调用链。
9.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至8所述的方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至8所述的方法中的任一方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京皮尔布莱尼软件有限公司,未经北京皮尔布莱尼软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011405006.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种果冻橙包装用装袋装置
- 下一篇:具有一键延时关机功能的电吹风机





