[发明专利]一种基于标准文档分析的JS引擎模糊测试方法有效
| 申请号: | 202011450408.0 | 申请日: | 2020-12-09 |
| 公开(公告)号: | CN112416806B | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 叶贵鑫;弋雯;王焕廷;田洋;瞿兴;王媛;汤战勇;房鼎益 | 申请(专利权)人: | 西北大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/951 |
| 代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李郑建 |
| 地址: | 710069 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 标准 文档 分析 js 引擎 模糊 测试 方法 | ||
本发明公开了一种基于标准文档分析的JS引擎模糊测试方法,主要包括生成阶段与测试阶段,该方法使用先进的无监督深度学习模型生成大量用例,结合用例中包含的API并对其查询ECMA‑262标准进行解析,根据解析到的边界条件与参数定义对用例进行定向变异得到测试用例。经试验表明,使用该方法得到的测试用例,在JS引擎模糊测试中表现优异,能解决一般的基于生成的方法成本耗费高以及基于变异的方法变异方向不可控的问题,提高测试的效率和质量,为JS引擎的缺陷检测提供了技术支持。采用本发明的方法,不仅能够保证测试用例的大部分信息不变,从而降低语法错误率,还能通过对缺陷热点区域API的变异增大测试用例发现缺陷的可能。
技术领域
本发明涉及计算机技术领域,涉及一种测试方法,特别涉及一种基于标准文档分析的JS引擎模糊测试方法。
背景技术
JavaScript(JS)语言由于其语法相对灵活、简单易学,且在实际应用时可以提高数据传送效率、优化用户操作体验等优点,已经成为目前应用最广泛的Web前端脚本语言。而JS引擎作为对JS脚本代码进行编译执行的平台,也逐渐成为现代Web浏览器的核心组件之一。随着JS的使用范围越来越广,确保JS引擎实现功能的正确性也变得越来越重要。当前,常用的缺陷检测技术有静态分析、符号执行、模糊测试等。静态分析方法注重缺陷产生的根本原因,准确性高,但需要花费大量的时间,效率低;符号执行技术的缺点有路径爆炸、求解困难等。
模糊测试技术的核心思想是将自动生成的大量随机数据输入到待测目标程序中,监视程序在执行过程中出现的异常并对异常情况进行分析,最后判断其是否为缺陷。模糊测试技术具有自动化程度高、测试效率高、且在测试时不依赖测试目标程序源代码等优点,是当前最有效的缺陷检测手段之一。模糊测试的关键环节在于测试用例的生成,所生成的测试用例的质量决定了模糊测试的最终效果。
当前,测试用例的生成方法主要包括两大类:基于生成的生成方法与基于变异的生成方法。基于生成的方法有基于模板的方法以及代码拼接方法以及基于深度学习的方法等。基于模板的方法通过人工根据编写生成数据的语法规则来编写模板生成数据,此方法得到的用例语法正确率高但需要耗费大量的人工成本与时间成本。代码拼接方法是对收集到的种子用例进行拆分与同类替换来生成新的用例,此方法需要收集大量的原始用例且生成数据的质量依赖于分割拼接规则,易产生语法语义无效的用例。近年来,随着机器学习的流行,出现了基于深度学习的生成方法,其是将处理好的用种子文件输入到深度学习模型中训练,然后模型根据学习到的语法结构、编码规范以及各种API的调用关系来生成测试用例,此方法大大减少了人工成本。基于变异的方法是对收集到的原始数据样本进行随机变异,此方法便捷高效,但它对原始数据的依赖性较大,且随机变异的用例难以保证语法语义的正确性,从而影响测试的效果。
发明内容
针对现有的常用测试用例生成方法存在的问题,本发明的目的在于,提供一种基于标准文档分析的JS引擎模糊测试方法。
为了实现上述任务,本发明采取如下技术解决方案:
一种基于标准文档分析的JS引擎模糊测试方法,其特征在于,该方法主要包括生成阶段与测试阶段,其中:
生成阶段:先从GitHub上爬取实际工程项目的JS文件,再对其进行数据预处理;
所述数据预处理的过程是,先根据JS文件的内容的长短选择语法树或正则匹配提取文件中的函数并对其进行全局变量回填,再进行去重、去注释、规则过滤、美化等步骤,将最终得到的代码存入数据库作为模型的训练数据。
然后,将训练数据输入给无监督深度学习模型GPT-2,让其根据训练数据的特点来微调模型生成大量与训练数据格式相同的只包含函数体的测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011450408.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于手机的防盗手机壳
- 下一篇:一种可以刮酸奶盒内壁的吸管





