[发明专利]变更代码的影响范围的获取方法、装置、设备及存储介质在审
申请号: | 202010366976.6 | 申请日: | 2020-04-30 |
公开(公告)号: | CN111666206A | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 施展;刘志伟 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/23 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙) 11412 | 代理人: | 田宏宾 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 变更 代码 影响 范围 获取 方法 装置 设备 存储 介质 | ||
1.一种变更代码的影响范围的获取方法,其特征在于,包括:
获取变更代码文件;
解析所述变更代码文件中的目标符号信息;
获取所述目标符号信息对应的目标符号在代码库中的影响范围。
2.根据权利要求1所述的方法,其特征在于,解析所述变更代码文件中的目标符号信息,包括:
获取所述代码库中与所述变更代码文件具有依赖关系的关联代码文件;
采用语法解析工具分别获取所述变更代码文件和所述关联代码文件的抽象语法树;
分别解析所述变更代码文件和所述关联代码文件的抽象语法树中的节点对应的符号信息,从中获取所述变更代码文件的抽象语法树中的节点对应的所述目标符号信息。
3.根据权利要求1或2所述的方法,其特征在于,获取所述目标符号信息对应的目标符号在代码库中的影响范围,包括:
从所述目标符号信息中获取所述目标符号所在的目标代码文件的标识、在所述目标代码文件中的位置信息以及所述目标代码文件的路径;
基于所述目标符号信息中的目标符号的标识和所述目标符号的类型,从预先建立的原始符号信息数据库和/或变更符号信息数据库中获取与所述目标代码文件具有依赖关系的相关代码文件的标识、以及所述相关代码文件的路径;所述原始符号信息数据库基于代码库中的代码文件生成;所述变更符号信息数据库基于正在进行代码变更预审的变更代码文件生成。
4.根据权利要求3所述的方法,其特征在于,基于所述目标符号信息中的目标符号的标识和所述目标符号的类型,从预先建立的原始符号信息数据库和/或变更符号信息数据库中获取与所述目标代码文件具有依赖关系的相关代码文件的标识、以及所述相关代码文件的路径之前,还包括:
解析所述代码库的各所述代码文件中的各符号信息;
基于各符号信息推理代码文件之间的依赖关系;
将所述代码库的各所述代码文件中的各所述符号信息以及代码文件之间的依赖关系,存储在一数据库中,得到所述原始符号信息数据库。
5.根据权利要求3所述的方法,其特征在于,基于所述目标符号信息中的目标符号的标识和所述目标符号的类型,从预先建立的原始符号信息数据库和/或变更符号信息数据库中获取与所述目标代码文件具有依赖关系的相关代码文件的标识、以及所述相关代码文件的路径之前,还包括:
解析所述变更代码文件之前提交的、且正在进行代码变更预审的各历史变更代码文件的符号信息;
并获取各所述历史变更代码文件的变更信息;
将各所述历史变更代码文件的变更信息和所述符号信息一起存储在一数据库中,得到所述变更符号信息数据库。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述变更代码文件的符号信息和变更信息,更新在所述变更符号信息数据库中。
7.根据权利要求3所述的方法,其特征在于,获取所述目标符号信息对应的目标符号在代码库中的影响范围之后,所述方法还包括:
若检测到所述变更代码文件变更起效时,将所述变更代码文件的符号信息更新至所述原始符号信息数据库中;和/或
在所述变更符号信息数据库中删除所述变更代码文件对应的符号信息和变更信息。
8.一种变更代码的影响范围的获取装置,其特征在于,包括:
文件获取模块,用于获取变更代码文件;
解析模块,用于解析所述变更代码文件中的目标符号信息;
范围获取模块,用于获取所述目标符号信息对应的目标符号在代码库中的影响范围。
9.根据权利要求8所述的装置,其特征在于,所述解析模块,用于:
获取所述代码库中与所述变更代码文件具有依赖关系的关联代码文件;
采用语法解析工具分别获取所述变更代码文件和所述关联代码文件的抽象语法树;
分别解析所述变更代码文件和所述关联代码文件的抽象语法树中的节点对应的符号信息,从中获取所述变更代码文件的抽象语法树中的节点对应的所述目标符号信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010366976.6/1.html,转载请声明来源钻瓜专利网。