[发明专利]一种基于机器学习的模糊测试用例生成方法及运行该方法的计算机设备与可读存储介质在审
| 申请号: | 202010653011.5 | 申请日: | 2020-07-08 |
| 公开(公告)号: | CN111831562A | 公开(公告)日: | 2020-10-27 |
| 发明(设计)人: | 叶青;郭涛;李明柱 | 申请(专利权)人: | 信联科技(南京)有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 南京泰普专利代理事务所(普通合伙) 32360 | 代理人: | 张磊 |
| 地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 机器 学习 模糊 测试 生成 方法 运行 计算机 设备 可读 存储 介质 | ||
1.一种基于机器学习的模糊测试用例生成方法,其特征是包括以下步骤:
步骤1、污点跟踪:标记污点源,跟踪目标程序运行;
步骤2、污点分析:存储污点跟踪信息,分析污点路径的相似度;
步骤3、测试用例筛选:标记有效测试用例,生成新的测试用例库;
步骤4、存储污点数据追踪表。
2.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤1进一步包括:将taint_data指定为污点源数据指定接口,当测试引擎解析到字段taint_data接口时,调用污点初始化模块initialize_fun1,将污点源数据映射到内存空间,并存储于污点数据追踪表中;当测试引擎获得污点跟踪信息后调用dress_fun1进行测试用例筛选模块。
3.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤2进一步包括:对使用污点跟踪技术的测试用例的回包进行污点传播路径分析;对使用动态污点跟踪技术的目标程序做二进制插桩处理,或者在源代码中加入插桩代码,将污点数据在执行目标程序过程中涉及的路径记录并返回给测试平台;如果目标程序是开源代码,则在分支中插入插桩代码记录路径;如果是二进制目标程序,采用第三方插桩平台对二进制代码进行插桩;当测试用例数据执行完目标程序后,记录污点数据的传播和清除状态,并作为回包数据的一部分返回给测试平台。
4.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤3进一步包括:
步骤3-1、当数据库中记录了所有污点源数据的传播路径后,获得每一个污点源数据在目标程序中的执行指令序列,在内存中形成污点跟踪指令路径链表;
步骤3-2、根据筛选目标使用各种算法对内存中的指令路径链表进行评价,当存在相同或相似的指令路径链表,则说明不同的测试用例在目标程序中执行了相似的路径,此时判定存在无效的测试用例;采用聚类分析方法对指令路径链表集进行评价,找到路径相似度高的测试用例进行过滤;
步骤3-3、过滤无效的测试用例,减少模糊测试用例的冗余度,标记有效的测试用例以提高测试效率。
5.根据权利要求4所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤3-2进一步包括:采用海明码距离分析方法将每个测试用例的指令路径链表使用哈希算法进行签名,用海明码距离计算两个签名值的距离,距离值越小,表示指令路径越相似,反之则为不相似。
6.根据权利要求1所述的一种基于机器学习的模糊测试用例生成方法,其特征在于,步骤4进一步包括:创建taint_trace表以存储污点源数据在目标程序执行过程的跟踪路径信息;
其中字段名为Test_case_id,对应类型为INT,键约束为主键,表示测试用例编号;
字段名为Taint_source,对应类型为HexString,键约束为主键,表示污染源数据;
字段名为InsNum,对应类型为Hex,表示执行路径中指令序列编号;
字段名为Ins,对应类型为varchar,表示污染源数据传播的指令;
字段名为Status,对应类型为Hex,表示污点传播或污点清除。
7.一种基于机器学习的模糊测试用例生成方法,其特征在于,包括如下模块:
用于标记污点数据的测试脚本模型;
用于扩展测试引擎、且支持调用污点传播路径的分析模块;
用于测试引擎增加测试用例评价的筛选组件;
用于存储污点数据追踪表的存储模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于信联科技(南京)有限公司,未经信联科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010653011.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种U型锻件渐进成型工艺及成型设备
- 下一篇:一种塑料三通管





