一种对抗样本生成方法及系统

    公开(公告)号:CN112633280B

    公开(公告)日:2023-01-31

    申请号:CN202011620173.5

    申请日:2020-12-31

    Applicant: 西北大学

    Abstract: 本发明公开了一种对抗样本生成方法与系统。所公开的方法包括获取原始图像的可解释性区域图像;确定合适的像素阈值,根据可解释性区域图像生成该阈值下原始图像的扰动添加模板,根据扰动添加模板中的0像素点值在原始图像的相应像素点处添加叠加扰动,生成该原始图像的对抗样本。所述公开的系统为执行所述对抗样本生成方法的系统。本发明可确保对抗扰动的可感知性和攻击性,且人眼不易发现本发明的方法加在对抗样本中的扰动,同时经验证模型以较高的概率被对抗样本误分类。

    一种基于标准文档分析的JS引擎模糊测试方法

    公开(公告)号:CN112416806A

    公开(公告)日:2021-02-26

    申请号:CN202011450408.0

    申请日:2020-12-09

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于标准文档分析的JS引擎模糊测试方法,主要包括生成阶段与测试阶段,该方法使用先进的无监督深度学习模型生成大量用例,结合用例中包含的API并对其查询ECMA‑262标准进行解析,根据解析到的边界条件与参数定义对用例进行定向变异得到测试用例。经试验表明,使用该方法得到的测试用例,在JS引擎模糊测试中表现优异,能解决一般的基于生成的方法成本耗费高以及基于变异的方法变异方向不可控的问题,提高测试的效率和质量,为JS引擎的缺陷检测提供了技术支持。采用本发明的方法,不仅能够保证测试用例的大部分信息不变,从而降低语法错误率,还能通过对缺陷热点区域API的变异增大测试用例发现缺陷的可能。

    一种基于代码精简与误报过滤的编译器模糊测试方法

    公开(公告)号:CN113238937A

    公开(公告)日:2021-08-10

    申请号:CN202110510418.7

    申请日:2021-05-11

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于代码精简和误报过滤的编译器模糊测试方法。所公开的方法包括使用多个编译器对测试用例集进行差分测试,在多个编译器每执行完一个测试用例后,如果编译器的执行结果不一致,将这个用例标记为可疑用例;之后利用基于语法块或基于代码行的代码精简技术对可疑用例内容进行精简构建可疑用例集;再以决策树的形式,利用误报过滤数据库对可疑用例的执行结果进行过滤构成误报过滤数据库,最后通过人工分析可疑用例集和误报过滤数据库发现bug。本发明的方法实现了高效,快速,准确的定位出错位置,减少了测试人员发现编译器漏洞的时间,提高了编译器测试的效率。

    一种基于种子用例突变的反馈式JS引擎模糊测试方法及装置

    公开(公告)号:CN113157565A

    公开(公告)日:2021-07-23

    申请号:CN202110308117.6

    申请日:2021-03-23

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于种子用例突变的反馈式JS引擎模糊测试方法及装置,包括数据收集与预处理、模型训练、用例突变以及模糊测试四个主要阶段。该方法使用预先训练好的神经语言模型,根据从种子用例中截取的代码上文自动地续写下文,从而突变生成新的测试用例,克服随机突变方法中存在的大量无效突变的问题。随后通过差分模糊测试的方式检测JS引擎的缺陷。在测试过程中不断反馈式地扩充种子用例池,以增大种子用例对引擎的测试范围,从而对引擎进行更加全面的测试。经试验表明,使用本方法能够有效地检测出JS引擎的缺陷,在实际的测试过程中发现了四大主流JS引擎共计23个软件缺陷。

    一种基于种子用例突变的反馈式JS引擎模糊测试方法及装置

    公开(公告)号:CN113157565B

    公开(公告)日:2023-02-07

    申请号:CN202110308117.6

    申请日:2021-03-23

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于种子用例突变的反馈式JS引擎模糊测试方法及装置,包括数据收集与预处理、模型训练、用例突变以及模糊测试四个主要阶段。该方法使用预先训练好的神经语言模型,根据从种子用例中截取的代码上文自动地续写下文,从而突变生成新的测试用例,克服随机突变方法中存在的大量无效突变的问题。随后通过差分模糊测试的方式检测JS引擎的缺陷。在测试过程中不断反馈式地扩充种子用例池,以增大种子用例对引擎的测试范围,从而对引擎进行更加全面的测试。经试验表明,使用本方法能够有效地检测出JS引擎的缺陷,在实际的测试过程中发现了四大主流JS引擎共计23个软件缺陷。

    一种基于代码精简与误报过滤的编译器模糊测试方法

    公开(公告)号:CN113238937B

    公开(公告)日:2023-02-03

    申请号:CN202110510418.7

    申请日:2021-05-11

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于代码精简和误报过滤的编译器模糊测试方法。所公开的方法包括使用多个编译器对测试用例集进行差分测试,在多个编译器每执行完一个测试用例后,如果编译器的执行结果不一致,将这个用例标记为可疑用例;之后利用基于语法块或基于代码行的代码精简技术对可疑用例内容进行精简构建可疑用例集;再以决策树的形式,利用误报过滤数据库对可疑用例的执行结果进行过滤构成误报过滤数据库,最后通过人工分析可疑用例集和误报过滤数据库发现bug。本发明的方法实现了高效,快速,准确的定位出错位置,减少了测试人员发现编译器漏洞的时间,提高了编译器测试的效率。

    一种基于标准文档分析的JS引擎模糊测试方法

    公开(公告)号:CN112416806B

    公开(公告)日:2022-03-01

    申请号:CN202011450408.0

    申请日:2020-12-09

    Applicant: 西北大学

    Abstract: 本发明公开了一种基于标准文档分析的JS引擎模糊测试方法,主要包括生成阶段与测试阶段,该方法使用先进的无监督深度学习模型生成大量用例,结合用例中包含的API并对其查询ECMA‑262标准进行解析,根据解析到的边界条件与参数定义对用例进行定向变异得到测试用例。经试验表明,使用该方法得到的测试用例,在JS引擎模糊测试中表现优异,能解决一般的基于生成的方法成本耗费高以及基于变异的方法变异方向不可控的问题,提高测试的效率和质量,为JS引擎的缺陷检测提供了技术支持。采用本发明的方法,不仅能够保证测试用例的大部分信息不变,从而降低语法错误率,还能通过对缺陷热点区域API的变异增大测试用例发现缺陷的可能。

    一种对抗样本生成方法及系统

    公开(公告)号:CN112633280A

    公开(公告)日:2021-04-09

    申请号:CN202011620173.5

    申请日:2020-12-31

    Applicant: 西北大学

    Abstract: 本发明公开了一种对抗样本生成方法与系统。所公开的方法包括获取原始图像的可解释性区域图像;确定合适的像素阈值,根据可解释性区域图像生成该阈值下原始图像的扰动添加模板,根据扰动添加模板中的0像素点值在原始图像的相应像素点处添加叠加扰动,生成该原始图像的对抗样本。所述公开的系统为执行所述对抗样本生成方法的系统。本发明可确保对抗扰动的可感知性和攻击性,且人眼不易发现本发明的方法加在对抗样本中的扰动,同时经验证模型以较高的概率被对抗样本误分类。

    一种基于量子程序语言语法规则的测试用例生成方法

    公开(公告)号:CN115344476A

    公开(公告)日:2022-11-15

    申请号:CN202210902691.9

    申请日:2022-07-29

    Applicant: 西北大学

    Abstract: 本发明提供了一种基于量子程序语言语法规则的测试用例生成方法,包括:代码片段生成模块,该模块用于生成其他模块所需的代码片段内容;模板选择与生成模块,该模块用于在每次运行时随机选择一个语句模板,结合代码片段生成模块生成完整的代码块;API选择与生成模块,该模块用于在每次运行时随机选择一个API接口,结合代码片段生成模块生成API调用语句以及所需的变量声明语句;回归测试用例片段插入模块,该模块用于仅在生成API语句时使用,获取到回归测试用例集并截取为函数;测试用例组装模块,该模块用于将三个组成部分组合在一起。本发明不仅可以保证测试用例的随机性和多样性,同时避免了过大的测试范围导致测试效率降低的问题。

Patent Agency Ranking