[发明专利]一种面向目标的测试用例生成方法及系统有效
申请号: | 201810713776.6 | 申请日: | 2018-07-03 |
公开(公告)号: | CN109117364B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 李丰;彭佳琪;刘丙昌;许丽丽;陈宏程;刘炳宏;霍玮;邹维 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种面向目标的测试用例生成方法,步骤包括:计算目标程序的CFG上每个结点到目标的距离,该目标为CFG上的一个结点或一条边;根据该距离进行导向模糊测试,如果该输入覆盖目标,则生成面向目标的测试用例,否则调用导向符号执行;将导向符号执行产生的输入同步到导向模糊测试的队列中以优先变异,如果该输入覆盖目标,则生成面向目标的测试用例。本发明将导向模糊测试和导向符号执行相结合,既解决模糊测试无法变异满足复杂约束的局限性,又能弥补符号执行的扩展性问题;同时设计了更加高效的导向策略以及两者结合时的交互策略,提高面向目标的测试用例生成效率。 | ||
搜索关键词: | 一种 面向 目标 测试 生成 方法 系统 | ||
【主权项】:
1.一种面向目标的测试用例生成方法,步骤包括:计算目标程序的CFG上每个结点到目标的距离,该目标为CFG上的一个结点或一条边;根据该距离进行导向模糊测试,包括:为每个输入添加距离度量的适应度函数;根据距离度量值,选择输入在队列中的位置,设置输入的变异频率;如果输入覆盖目标,则生成面向目标的测试用例;如果输入未覆盖目标,且输入距离在一段时间内不再降低,则调用导向符号执行;该导向符号执行采用concolic执行,包括:对所有未处理过的输入按照距离远近排序,对距离最近的输入优先处理;为覆盖目标而必须覆盖的结点为前必经结点,根据一系列前必经结点构成的前必经结点序列,选择需要探索的missing分支,若该missing分支有解,则开始在以下一个未覆盖的前必经结点为目标的剪枝后的CFG上进行符号执行以探索更多路径,否则回溯找到冲突分支,选择另一侧不冲突的分支进行探索;将导向符号执行产生的输入同步到导向模糊测试的队列中以优先变异,如果该输入覆盖目标,则生成面向目标的测试用例。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810713776.6/,转载请声明来源钻瓜专利网。