[发明专利]一种基于变异策略的并行模糊测试调度方法及装置有效
申请号: | 201910261097.4 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110147310B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 邹燕燕;尹嘉伟;霍玮;朴爱花;李丰;刘宝旭;邹维 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 变异 策略 并行 模糊 测试 调度 方法 装置 | ||
1.一种基于变异策略的并行模糊测试调度方法,其步骤包括:
1)对模糊测试器中用于生成测试用例数据的变异策略进行静态分配,为并行的不同测试实例分配不同的变异策略;
2)各测试实例根据分配的变异策略生成测试样本对设定目标程序进行模糊测试过程中,收集不同变异策略对该目标程序作用时产生的异常数目和测试覆盖率信息;
3)根据各变异策略对应的异常数目和测试覆盖率信息,计算各变异策略对该目标程序的优势权重;
4)根据变异策略的优势权重建立并行调度模型,动态优化并行模糊测试调度方案;其中动态优化并行模糊测试调度方案的方法为:
41)选取优势权重靠前的K个变异策略作为该目标程序的优势变异策略,记为MRK;然后更新每个测试实例上采用的变异策略集合;其中,测试实例i初始静态分配的变异策略集合为MRi,更新后的变异策略集合MRi’=MRiU MRK,每个变异策略被调度到的概率为;表示测试实例i中变异策略m的优势权重,表示测试实例i中所有变异策略MRi’的优势权重之和,scoremutator为变异策略对应的优势权重;
42)测试实例i基于变异策略集合MRi’生成该目标程序的测试样本,对该目标程序进行测试;
43)测试实例i运行时间T后,将保留的有效测试用例发送给其他测试用例;并接收其他测试实例发送过来的有效测试用例;其中,测试实例i生成的测试样本a对该目标程序进行测试的测试覆盖率信息覆盖到了该目标程序的新路径,则该测试样本a为有效测试用例;
44)测试实例i将其他实例同步过来的有效测试用例作为种子用例继续进行生成该目标程序的测试样本,对该目标程序进行测试。
2.如权利要求1所述的方法,其特征在于,计算变异策略的优势权重的方法为:
21)基于测试实例i所分配的变异策略i对初始输入种子测试用例进行变异,生成多个测试样本;
22)执行该目标程序并使用插桩工具对该目标程序进行插桩;
23)调度测试实例对步骤21)中生成的测试样本进行逐一的测试并对该目标程序进行实时监控,以获取程序异常数Mbug;
24)对该目标程序运行过程中插桩获取的信息进行统计,更新该目标程序的测试覆盖率信息Ccov;
25)判断步骤24)中收集到的测试覆盖率信息是否覆盖到了该目标程序的新路径,如果是则记录该测试样本为有效测试用例;
26)分别统计所有测试样本对应的程序异常数和测试覆盖率信息,并进行归一化处理,得到该变异策略i的归一化异常率crashmutator和归一化测试覆盖率coveragemutator;
27)根据该变异策略i的异常率crashmutator和测试覆盖率coveragemutator计算该变异策略i的优势权重。
3.如权利要求2所述的方法,其特征在于,使用公式scoremutator=α*crashmutator+β*coveragemutator计算出每个变异策略对应的优势权重scoremutator;其中,α、β表示两个因素的影响系数,α、β取值在0至1之间,且α+β=1。
4.如权利要求1所述的方法,其特征在于,采用四元组(目标程序,变异策略,异常数,路径覆盖率)记录变异策略对应的异常数目和测试覆盖率信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910261097.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息生成方法和装置
- 下一篇:一种系统升级校验方法及装置