【技术实现步骤摘要】
基于深度学习的模糊测试用例构造方法
[0001]本专利技术属于软件测试
,进一步涉及模糊测试用例构造方法,具体为一种基于深度学习的模糊测试用例构造方法,可用于模糊测试。
技术介绍
[0002]模糊测试是一种自动检测应用程序漏洞方法,通过生成大量测试用例输入到目标程序中,并在程序运行过程中检测是否出现异常行为,从而发现程序漏洞。模糊测试具有不受限于被测程序的内部实现细节和复杂程度,可复用性好特点,已经成为检测程序漏洞最成功的技术之一。根据测试用例的生成方法不同,模糊测试可以分为两类:基于生成的模糊测试和基于变异的模糊测试。基于生成的模糊测试学习程序输入的语法格式来生成模糊测试用例。基于变异的模糊测试通过变异初始种子文件来获得测试用例。然而,基于生成的模糊测试需要手动获取程序输入的语法格式,这显然是困难并且是低效的。基于变异的模糊测试只需要有效的初始种子文件便可生成大量测试用例。
[0003]初始种子文件是影响基于变异模糊测试性能的一个至关重要的因素。模糊测试的目的是搜索可能使程序出现异常行为如崩溃的测试用例,通过 ...
【技术保护点】
【技术特征摘要】
1.一种基于深度学习的模糊测试用例构造方法,其特征在于,包括以下步骤:(1)从网络上收集不同格式的文件作为模糊测试的输入,对应用程序进行模糊测试,得到第一测试用例,利用该测试用例构建数据集;(2)对数据集进行预处理:(2.1)使用二进制读取数据集中的第一测试用例,得到二进制字节流;(2.2)采用二进制编码方法Base64对二进制字节流进行编码,得到由64种字符和”=”组成的编码后字符串,再将编码后字符串转换为十进制数字,得到预处理后数据集;(3)构建基于自注意力机制的生成对抗网络SAGAN网络模型,包括构造生成器和判别器结构,并使用Wasserstein生成对抗网络WGAN的价值函数,得到基于自注意力机制的生成对抗网络SAGAN网络模型;(4)对构建的SAGAN网络模型进行训练:(4.1)从预处理后数据集中随机选取m个数据样本构成数据样本集{x1,x2,
…
,x
i
,
…
,x
m
},i=1,2,...m;(4.2)固定生成器参数维持不变,训练判别器:构造包含m个元素的第一随机样本集{z
11
,z
12
,
…
,z
1m
},将其中第i个随机样本z
1i
输入到生成器中,得到第一输出结果集{y
11
,y
12
,
…
,y
1m
};将该集合中第i个输出结果y
1i
与第i个数据样本x
i
送入到判别器中,计算得到判别器损失函数,然后反向传播判别器损失函数,并使用Adam优化算法更新判别器参数w;(4.3)固定判别器参数维持不变,训练生成器:构造包含m个元素的第二随机样本集{z
21
,z
22
,
…
,z
2m
},将其中第i个随机样本z
2i
输入到生成器中,得到第二输出结果集{y
21
,y
22
,
…
,y
2m
},将该集合中第i个输出结果y
2i
输入到判别器中,计算生成器的损失函数,然后反向传播生成器损失函数,并使用Adam优化算法更新生成器参数θ;(4.4)重复(4.1)和(4.3),直到生成器参数θ收敛则SAGAN训练完成,得到训练好的SAGAN网络模型;(5)利用训练好的SAGAN网络模型得到用于进行模糊测试的最终测试用例:(5.1)利用训练好的SAGAN模型生成样本,并对其进行转换,得到第二测试用例集合;(5.2)采用编辑距离计算第二测试用例集合中所有测试用例两两之间的相似性,并将计算结果与预先设定的相似性阈值进行比对,若大于阈值,判定两个测试用例...
【专利技术属性】
技术研发人员:李腾,莫奇豪,张嘉婧,林炜国,郑百川,卢知雨,何彦武,马卓,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。