[发明专利]测试方法及装置有效
| 申请号: | 201910792165.X | 申请日: | 2019-08-26 |
| 公开(公告)号: | CN110764992B | 公开(公告)日: | 2023-06-16 |
| 发明(设计)人: | 冀甜甜;王忠儒;阮强 | 申请(专利权)人: | 北京丁牛科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
| 代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
| 地址: | 100000 北京市海淀区中关村*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 测试 方法 装置 | ||
1.一种测试方法,其特征在于,所述方法包括:
获取待测程序的数据流信息、控制流信息中基本块的权重及基本块的第一地址信息,并将所述数据流信息中的数据作为种子加入种子队列中;
对所述待测程序进行动态插桩以获取待测程序中基本块的第二地址信息,在所述第二地址信息与所述第一地址信息相同的情况下,将所述第一地址信息对应的基本块的权重作为所述第二地址信息对应的基本块的权重;
将所述种子队列中的种子作为输入运行动态插桩后的所述待测程序,并利用所述待测程序中基本块的权重引导所述种子的执行路径以对所述待测程序进行测试。
2.根据权利要求1所述的方法,其特征在于,所述获取待测程序的数据流信息、及控制流信息中基本块的权重及基本块的第一地址信息,包括:
利用基本块的父亲基本块的生成概率、基本块与父亲基本块之间的边的生成概率、基本块的父亲基本块的数目、基本块的兄弟基本块的父亲基本块的数目获取基本块的权重。
3.根据权利要求2所述的方法,其特征在于,所述利用基本块的父亲基本块的生成概率、基本块与父亲基本块之间的边的生成概率、基本块的父亲基本块的数目、基本块的兄弟基本块的父亲基本块的数目获取基本块的权重,包括:
利用如下公式获取基本块的权重:
其中,
其中,w(b)表示基本块b的权重,pred(b)表示基本块b的父亲基本块的集合,len(pred(b))表示基本块b的父亲基本块的数目,len(pred(bro(b)))表示基本块b的兄弟基本块的父亲基本块的数目,prob(c)表示基本块b的父亲基本块的生成概率,prob(ecb)表示基本块c与基本块b之间的边的生成概率,∑c∈pred(b)prob(c)*prob(ecb))表示基本块b的生成概率。
4.根据权利要求1所述的方法,其特征在于,所述利用所述待测程序中基本块的权重引导所述种子的执行路径以对所述待测程序进行测试,包括:
获取所述种子执行到的所述待测程序的当前基本块的子基本块的权重大小;
选择所述子基本块中权重最大的子基本块作为所述种子的执行路径中的下一个基本块。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述种子中的最优种子;
对所述最优种子进行变异,得到变异后的种子;
在所述变异后的种子满足预设条件的情况下,将所述变异后的种子加入到所述种子队列中。
6.根据权利要求5所述的方法,其特征在于,确定所述种子中的最优种子,包括:
利用所述种子的完整的执行路径中各个基本块的权重之和、所述执行路径中子路径的基本块的子基本块的权重、所述种子的字节长度、所述种子在所述待测程序的执行时间获取所述种子的适应度值,
将当前种子的适应度值与前一个种子的适应度值进行比较,在当前种子的适应度值大于前一个种子的适应度值的情况下,将当前种子作为所述执行路径上的最优种子;
将所述最优种子保存在最优种子队列中。
7.根据权利要求6所述的方法,其特征在于,利用所述种子的执行路径中各个基本块的权重之和、基本块的子基本块的权重、所述种子的字节长度、所述种子在所述待测程序的执行时间获取所述种子的适应度值,包括:
利用如下公式获取所述种子的适应度值:
其中,f(d)表示所述种子的适应度值,wnextd表示执行路径中子路径的基本块d的子基本块的权重,wq表示所述种子的完整的执行路径中各个基本块的权重之和,tq表示所述种子在所述待测程序的执行时间,lq表示所述种子的字节长度,ε为预设值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京丁牛科技有限公司,未经北京丁牛科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910792165.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:代码测试方法及装置
- 下一篇:自动化测试方法及终端设备





