[发明专利]代码覆盖率的统计方法、装置和系统有效
申请号: | 201811173609.3 | 申请日: | 2018-10-09 |
公开(公告)号: | CN111026630B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 孙泽夺 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 褚敏;宋子良 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 统计 方法 装置 系统 | ||
1.一种代码覆盖率的统计方法,包括:
解析接收到的数据包文件;
如果所述数据包文件满足预设插桩条件,对所述数据包文件中的可执行文件设置函数统计代码;
运行所述数据包文件,依据所述函数统计代码对所述数据包文件执行代码覆盖率统计,得到统计文件;
依据所述函数统计代码中的触发条件判断是否将所述统计文件上传;
其中,在所述函数统计代码包括触发拦截统计代码、统计代码和插桩统计指令的情况下,所述对所述数据包文件中的可执行文件设置函数统计代码包括:
在所述可执行文件中设置所述触发拦截统计代码,其中,所述触发拦截统计代码,用于拦截应用系统前后台页面切换逻辑的代码;
依据所述触发拦截统计代码在所述可执行文件中设置所述统计代码和所述插桩统计指令,其中,所述统计代码,用于调用统计函数;以及;所述插桩统计指令,用于记录每个统计函数的调用次数;
对设置后的所述可执行文件中的方法引用数进行修改,得到修改所述方法引用数的可执行文件;
在所述修改所述方法引用数的可执行文件中添加初始统计文件,其中,所述初始统计文件用于记录所述数据包文件运行时各个函数调用的次数,并存储统计结果。
2.根据权利要求1所述的代码覆盖率的统计方法,其中,所述预设插桩条件包括:
判断所述数据包文件是否损坏;或,
判断所述数据包文件是否合法。
3.根据权利要求1所述的代码覆盖率的统计方法,其中,所述在所述可执行文件中设置所述触发拦截统计代码之后,所述方法还包括:
设置统计时长,其中,所述统计时长,用于在单位时间区间内记录所述可执行文件中的函数调用次数。
4.根据权利要求1所述的代码覆盖率的统计方法,其中,所述依据所述触发拦截统计代码在所述可执行文件中设置所述统计代码和所述插桩统计指令包括:
根据所述可执行文件中的方法引用数对应的函数,设置所述插桩统计指令;
将设置有所述插桩统计指令的所述可执行文件中设置所述统计代码。
5.根据权利要求1所述的代码覆盖率的统计方法,其中,所述对设置后的所述可执行文件中的方法引用数进行修改,得到修改所述方法引用数的可执行文件包括:
统计设置后所述可执行文件中的方法引用数;
将统计后的所述方法引用数配置于所述插桩统计指令,得到修改所述方法引用数的可执行文件。
6.根据权利要求1所述的代码覆盖率的统计方法,其中,所述方法还包括:
在数据包文件不满足预设插桩条件的情况下,对所述数据包文件不做处理。
7.根据权利要求1至6中任一项所述的代码覆盖率的统计方法,其中,依据所述函数统计代码对所述数据包文件执行代码覆盖率统计,得到统计文件包括:
根据所述函数统计代码中的触发拦截统计代码、统计代码和插桩统计指令对所述数据包文件中各个函数调用的次数;
将所述次数计入可执行文件中的初始统计文件,得到所述统计文件。
8.根据权利要求1所述的代码覆盖率的统计方法,其中,所述依据所述函数统计代码中的触发条件判断是否将所述统计文件上传包括:
在所述触发条件包括统计时长的情况下,将所述统计时长内生成的所述统计文件上传至服务器,以使得所述服务器能够根据每次上传的统计文件生成统计结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811173609.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:片材的粘接方法
- 下一篇:一种基于路面特征的车辆定位方法及在视觉定位中应用