[发明专利]代码覆盖率的处理方法、装置、设备及存储介质在审
申请号: | 202011393628.4 | 申请日: | 2020-12-03 |
公开(公告)号: | CN112416794A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 余卫平 | 申请(专利权)人: | 平安银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 处理 方法 装置 设备 存储 介质 | ||
1.一种代码覆盖率的处理方法,其特征在于,包括:
开启JavaAgent代理程序,当接收网络请求时,基于所述JavaAgent代理程序为所述网络请求开启对应的处理线程,在所述处理线程内设置一变量,所述变量的属性为时间;
在运行所述网络请求对应的应用程序时,获取预定目录下所述应用程序的类文件,基于所述JavaAgent代理程序对所述类文件中的各个函数进行插桩;
当所述应用程序在运行过程中调用到已插桩的函数时,基于所述JavaAgent代理程序录制所述已插桩的函数,并获取所述变量所记录的时间;
在所述应用程序运行结束时,基于所记录的时间获取所录制的函数,对所录制的函数进行去重处理,得到被调用函数的数量;
获取所述类文件中的调用关系,基于所述调用关系获取所述应用程序函数的总数;
基于被调用函数的数量及所述总数计算覆盖率。
2.根据权利要求1所述的代码覆盖率的处理方法,其特征在于,所述获取所述类文件中的调用关系,基于所述调用关系获取所述应用程序函数的总数的步骤,具体包括:
接收上报的所述应用程序的类文件,以访问者模式遍历所述类文件,得到所述类文件中的调用关系;
分析所述调用关系得到所述调用链路,基于所述调用链路获取所述应用程序函数的总数。
3.根据权利要求1或2所述的代码覆盖率的处理方法,其特征在于,所述获取所述类文件中的调用关系之后,还包括:
判断所述调用关系中的每个函数是否为所述被调用函数;
若是,则对所述调用关系中的被调用函数进行突出显示处理;
将进行突出显示处理后的所述调用关系发送至终端,以进行展示。
4.根据权利要求1所述的代码覆盖率的处理方法,其特征在于,所述基于所述JavaAgent代理程序对所述类文件中的各个函数进行插桩的步骤,具体包括:
基于所述JavaAgent代理程序获取所述处理线程内的变量,并调用java字节码操作与分析框架模块获取所述类文件中的各个函数名称及函数参数。
5.根据权利要求1所述的代码覆盖率的处理方法,其特征在于,所述对所录制的函数进行去重处理,具体包括:
获取所录制的函数的函数名称及函数参数个数;
对于函数名称及参数个数均相同的两个或两个以上的函数进行剔除处理,保留一个函数。
6.根据权利要求1所述的代码覆盖率的处理方法,其特征在于,所述开启JavaAgent代理程序的步骤之后,还包括:令所述JavaAgent代理程序基于预定的通信协议开启一个监听端口,所述监听端口用于监听针对所述应用程序的相关指令。
7.根据权利要求6所述的代码覆盖率的处理方法,其特征在于,在所述应用程序运行结束时,还包括:通过所述监听端口接收结束指令,基于所述结束指令清除所述变量的设置,或者基于所述结束指令终止所述JavaAgent代理程序的录制操作。
8.一种代码覆盖率的处理装置,其特征在于,包括:
开启模块,用于开启JavaAgent代理程序,当接收网络请求时,基于所述JavaAgent代理程序为所述网络请求开启对应的处理线程,在所述处理线程内设置一变量,所述变量的属性为时间;
插桩模块,用于在运行所述网络请求对应的应用程序时,获取预定目录下所述应用程序的类文件,基于所述JavaAgent代理程序对所述类文件中的各个函数进行插桩;
录制模块,用于当所述应用程序在运行过程中调用到已插桩的函数时,基于所述JavaAgent代理程序录制所述已插桩的函数,并获取所述变量所记录的时间;
去重模块,用于在所述应用程序运行结束时,基于所记录的时间获取所录制的函数,对所录制的函数进行去重处理,得到被调用函数的数量;
获取模块,用于获取所述类文件中的调用关系,基于所述调用关系获取所述应用程序函数的总数;
处理模块,用于基于被调用函数的数量及所述总数计算覆盖率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011393628.4/1.html,转载请声明来源钻瓜专利网。