[发明专利]软件中源码的定位方法、装置、计算设备及可读存储介质在审
| 申请号: | 202111414161.1 | 申请日: | 2021-11-25 | 
| 公开(公告)号: | CN114168143A | 公开(公告)日: | 2022-03-11 | 
| 发明(设计)人: | 张亚凯 | 申请(专利权)人: | 北京齐尔布莱特科技有限公司 | 
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 | 
| 代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 赵爱军;高攀 | 
| 地址: | 100080 北京市海*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 软件 源码 定位 方法 装置 计算 设备 可读 存储 介质 | ||
本发明公开了一种软件中源码的定位方法,基于Lint工具获取参考版本软件中目标模块对第一公共库中方法的第一调用列表,对参考版本中第一模块的源码进行静态语法分析,生成第一抽象语法树。将第一调用列表和第一抽象语法树匹配,获得第二调用列表。监测到新版本提交时,获取新版本中第二公共库与第一公共库的差异文件列表,对第二公共库的源码进行静态语法分析,生成第二抽象语法树。将差异文件列表和第二抽象语法树匹配,获得第二公共库中被发生变动的源码影响的类与方法的第一影响列表。将第二调用列表与第一影响列表进行匹配,得到目标模块中被发生变动的源码影响的类与方法的第二影响列表。本发明一并公开了相应的装置、计算设备及可读存储介质。
技术领域
本发明涉及计算机领域,尤其涉及一种软件中源码的定位方法、装置、计算设备及可读存储介质。
背景技术
随着应用软件中代码的体量越来越大,在软件升级过程中精准地判断发生变动的代码所影响的范围变得越来越重要。
目前,一般采用动态分析法来获取软件升级过程中发生变动的代码所影响的范围。具体地,对内部方法进行代码植入,当执行自动化或者功能测试时,记录一次请求经过的所有内部方法,这样形成的内部方法调用链将会记录面向切面编程AOP和多态执行的真正方法。
然而,这种方法对于新增代码的影响面大部分都是依靠字节码分析,而字节码分析在多态和AOP方面存在天然短板,因此影响面会有所丢失。并且,应用内链路跟踪存在大规模代码植入,对性能和内存资源会造成一定损耗,对于代码量很大的工程,损耗尤其严重。
为此,亟需一种软件中源码的定位方法来解决上述技术问题。
发明内容
为此,本发明提供了一种软件中源码的定位方法、装置、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种软件中源码的定位方法,在计算设备中执行,软件包括一个公共库和至少一个模块,该方法包括:依据参考版本软件中第一公共库和所有第一模块的源码,基于Lint工具获取所有第一模块中的各个目标模块对第一公共库中的方法的第一调用列表,第一调用列表中的每个节点包括一个目标模块中一处发起调用的源码所在的类的存储路径、该处发起调用的源码在该目标模块中的行数以及其所调用的第一公共库中的类与方法的名称;对所有第一模块的源码进行静态语法分析,生成第一抽象语法树;将第一调用列表与第一抽象语法树进行匹配,获得各个目标模块对第一公共库中的方法的第二调用列表,第二调用列表中的每个节点包括一个目标模块中一个发起调用的方法的名称、该发起调用的方法所在的类的名称以及其所调用的类与方法的名称;当监测到新版本提交时,获取第一差异文件列表,第一差异文件列表中的每个节点包括一处差异源码所在的类的名称以及该处差异源码在新版本的第二公共库中的行数,一处差异源码为将第一公共库升级为第二公共库时一个类中发生变动的源码;对新版本软件中的第二公共库的源码进行静态语法分析,生成第二抽象语法树;将第一差异文件列表与第二抽象语法树进行匹配,得到第二公共库中被发生变动的源码所影响的类与方法的第一影响列表;将第二调用列表与第一影响列表进行匹配,得到各个目标模块中被发生变动的源码所影响的类与方法的第二影响列表。
可选地,在根据本发明的软件中源码的定位方法中,进行静态语法分析的步骤,包括:对相应文件中的类进行解析,得到各个类的名称;对相应文件中的方法进行解析,得到各个方法的名称以及各个方法在其相应文件中的起始行和结束行;根据各个类的名称、各个方法的名称以及各个方法在相应文件中的起始行和结束行,生成相应的抽象语法树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京齐尔布莱特科技有限公司,未经北京齐尔布莱特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111414161.1/2.html,转载请声明来源钻瓜专利网。





