[发明专利]测试用例生成方法及装置有效
| 申请号: | 201910477076.6 | 申请日: | 2019-06-03 |
| 公开(公告)号: | CN110221978B | 公开(公告)日: | 2023-03-14 |
| 发明(设计)人: | 王忠儒;冀甜甜;姜海;阮强;张云涛;赵美丞 | 申请(专利权)人: | 北京丁牛科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/36;G06F21/57 |
| 代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
| 地址: | 100000 北京市海淀区中*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 测试 生成 方法 装置 | ||
本公开涉及测试用例生成方法及装置,通过基于词性对语料数据进行预处理得到预处理的语料数据;采用预处理的语料数据对神经网络进行训练得到交互模型;输入交互信息到所述交互模型,基于所述交互模型对所述交互信息进行处理,得到交互数据;对交互数据进行处理得到数据集合;将一个或多个数据集合组合生成程序漏洞挖掘所用的测试用例,能够通过对语料数据进行基于词性的预处理实现程序的相关交互信息的强语义的理解,得到程序的强语义输入,得到高质量的测试用例,保证程序的自动化漏洞挖掘的效率和准确率。
技术领域
本公开涉及计算机技术领域,尤其涉及一种测试用例生成方法及装置。
背景技术
计算机软件(也可称为软件、程序、或计算机程序)的普及,计算机软件的安全是影响计算机安全中的关键因素,导致计算机软件安全的主要根源为软件实现中的计算机软件漏洞。计算机软件漏洞可为计算机软件中存在的一些功能性或安全性的逻辑缺陷,在具体实现或安全策略上存在的缺陷和不足。
目前,常用的计算机软件漏洞挖掘的方法有:动态Fuzzing测试法,这种方法耗时耗力,且具有较大的盲目性。静态分析或动态分析手段自动查找程序缺陷的方法,但是,静态分析存在误报的问题,动态分析的结果较静态分析准确,但是取决于程序的输入。随着计算机软件的数量和种类的不断增多,计算机软件漏洞快速增长,基于程序的自动化漏洞挖掘技术随之而来,不过,自动化漏洞挖掘技术难以理解程序中的强语义信息,导致自动化漏洞挖掘的测试用例质量低且冗余,影响自动化漏洞挖掘的效率和准确率,且难以实现复杂程序的漏洞挖掘。
发明内容
有鉴于此,本公开提出了一种测试用例生成方法及装置,能够有效理解程序中的强语义信息,生成高质量的测试用例,提高自动化漏洞挖掘的效率和准确率。
根据本公开的一方面,提供了一种测试用例生成方法,所述方法包括:
基于词性对语料数据进行预处理得到预处理的语料数据,其中所述语料数据是在进行程序漏洞挖掘过程中能够成功检测程序漏洞的语料数据;
采用预处理的语料数据对神经网络对进行训练得到交互模型;
输入交互信息到所述交互模型,基于所述交互模型对所述交互信息进行处理,得到交互数据;
对交互数据进行处理得到数据集合;
将一个或多个数据集合组合生成程序漏洞挖掘所用的测试用例。
在一种可能的实现方式中,所述语料数据包括:第一语料数据和第二语料数据,所述第一语料数据包括交互信息和约束条件,所述第二语料数据包括满足所述约束条件的输入信息。
在一种可能的实现方式中,所述基于词性对语料数据进行预处理得到预处理的语料数据,包括:
根据词性标注所述第一语料数据;
对标注后的第一语料数据进行去冗余处理得到预处理的第一语料数据。
在一种可能的实现方式中,所述对交互数据进行处理得到数据集合,包括:
将所述交互数据转换为二进制的交互数据;
将所述二进制的交互数据按位取反得到反码数据,并将所述反码数据进行字符转换,得到第一数据;
拼接所述交互数据和第一数据得到第二数据;
组合所述交互数据、第一数据、第二数据得到数据集合。
在一种可能的实现方式中,将一个或多个数据集合组合生成程序漏洞挖掘所用的测试用例,包括:
在预定时间内得到一个或多个数据集合,根据各数据集合中的数据生成测试用例。
根据本公开的另一方面,提出了一种测试用例生成装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京丁牛科技有限公司,未经北京丁牛科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910477076.6/2.html,转载请声明来源钻瓜专利网。





