【技术实现步骤摘要】
一种WAV测试用例生成方法
[0001]本专利技术属于模糊测试
,具体涉及一种
WAV
测试用例生成方法
。
技术介绍
[0002]模糊测试解决了人工测试代码带来的复杂低效的问题,其自动化的特点令其成为漏洞挖掘的首选技术
。
测试用例的质量决定了模糊测试的质量,所以测试用例生成技术是模糊测试的重要一环
。
[0003]目前对于结构化测试用例
WAV
的模糊测试,具有代表性的技术分别是
Learn&Fuzz、Smartseed
和
LangFuzz
;其中
Learn&Fuzz
使用循环神经网络
(Recursive Neural Network,RNN)
从给定的大型
WAV
语料库中学习结构化测试用例的语法和语义,最后实现
WAV
生成模型以生成足量测试用例
。
但生成的测试用例质量不佳,部分测试用例出现语法错误导致在程序的语法分析阶段就被过滤丢弃,降低了模糊测试的代码覆盖率;
Smartseed
构建生成模型来产生正确的测试用例
。
先用模糊测试工具
AFL
对程序进行模糊测试,并将可以引发唯一崩溃或者新路径的输入文件作为训练的数据
。
为了处理具有不固定格式或不固定大小的文件,把原始训练数据编码为通用矩阵
。
然后 ...
【技术保护点】
【技术特征摘要】
1.
一种
WAV
测试用例生成方法,其特征在于:包括以下步骤:
(1)
构建
WAV
种子文件队列和模板文件;
(2)
从
WAV
种子文件队列中随机选取一个
WAV
文件,并根据模板文件将
WAV
文件按照其文件结构划分为多个文件块,并将多个文件块拼接成树形结构;
(3)
通过变异策略将拼接的树形结构进行变异,得到变异文件,再将变异文件送入被测的目标
WAV
程序中;若未触发新路径,则代表生成的测试用例无效,将测试用例丢弃;若触发新路径,则代表生成的测试用例有效,将测试用例加入到种子文件队列中
。2.
根据权利要求1所述的一种
WAV
测试用例生成方法,其特征在于:步骤
(1)
中构建
WAV
种子文件队列可从
Github
上下载或者网上爬取获得
。3.
根据权利要求1所述的一种
WAV
测试用例生成方法,其特征在于:所述模板文件采用
XML
文件表示,包括
DataModule
模块
、StateModule
模块
、Agent
模块和
Test
模块;其中
DataModule
模块用于定义
WAV
文件的各个结构,包括文件头
、
文件体
、
交叉引用表
、
文件尾;
StateModule
模块用于定义
DataModule
模块的行为;
Agent
模块为监控目标程序执行状态;
Test
模块用于指定使用
StateModel
模块
、
传送数...
【专利技术属性】
技术研发人员:崔艳鹏,胡建伟,郑星,崔博,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。