[发明专利]一种面向Move语言虚拟机的模糊测试方法有效

专利信息
申请号: 202110891571.9 申请日: 2021-08-04
公开(公告)号: CN113626324B 公开(公告)日: 2023-09-26
发明(设计)人: 姜博;隋睿;孙海龙;殷永峰 申请(专利权)人: 北京航空航天大学
主分类号: G06F11/36 分类号: G06F11/36;G06F21/57
代理公司: 北京永创新实专利事务所 11121 代理人: 易卜
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 move 语言 虚拟机 模糊 测试 方法
【权利要求书】:

1.一种面向Move语言虚拟机的模糊测试方法,其特征在于,具体步骤如下:

步骤一、针对Diem区块链的语言组件Move语言虚拟机,通过调用脚本执行和模块发布两个接口函数,确定目标测试接口;

步骤二、根据Move语言给定的语法规则,手动构建初始测试样例,使其满足将语法规则全部覆盖;

步骤三、在本地以目录的形式模拟Diem区块链的全局存储,构建目标测试接口需要的实现存储功能的第一类非字节码参数;

第一类非字节码参数实现本地存储的步骤如下:

步骤301、判断本地存储是否存在编译目录和存储目录,若不存在,则创建相应的目录;如果存在,进入步骤302;

步骤302、判断是否选择发布Move语言的标准库函数或/和Diem区块链定义的常用模块,如果是,则进入步骤303,否则进入步骤306;

步骤303、采用递归操作,将要发布的标准库函数或/和常用模块,所依赖的所有模块和资源进行发布;

步骤304、判断选择发布内容的源代码目录是否存在,如果是,对源代码目录不再进行重复发布,进入步骤305;否则,采用递归操作,对源代码目录下的所有内容在编译目录下进行发布;

步骤305、判断是否选择发布二进制形式,如果是,将源代码目录下的所有文件内容进行编译,并从中筛选出没有发布的模块将其以二进制的形式在编译目录下进行发布,进入步骤306;否则,直接进入步骤306;

步骤306、将编译目录下的所有二进制文件反序列化,挑选出其中未发布的模块进行序列化,并且将其以二进制形式发布在存储目录下;

步骤四、构建Move语言虚拟机解释运行字节码参数时需要接收的第二类非字节码参数;

步骤五、当初始测试样例和目标测试接口的两类非字节码参数全部构建完成之后,将目标测试接口分别与AFL进行对接,并对Move语言虚拟机进行模糊测试,收集能够触发目标测试程序出现崩溃和超时的测试样例;

步骤六、对收集到的测试用例进行预处理,作为训练数据集;

步骤七、生成对抗网络使用Wasserstein距离作为优化目标,生成器和判别器的结构综合考虑WGAN和DCGAN提出的约束条件,得到种子生成模型;

预处理过程如下:

基于Wassertein距离,设计的生成对抗网络的损失函数为:

Pr表示真实数据的概率分布,Pg表示生成器的概率分布,fw(x)表示真实数据在判别器中的输出,gθ(z)表示生成器的输出,z表示随机噪声,w表示判别器中的参数,W表示判别器中的所有参数,Pr(z)是随机噪声符合的分布;

约束条件如下:

(1)在每次更新了判别器的参数之后,会对判别器的参数进行截取,使其不超过一个[-c,c]的固定范围;

(2)在生成模型中使用小数步长卷积代替池化操作,在判别模型中采用步长卷积代替池化操作;

(3)在生成器和判别器中使用批正则化;

(4)在生成器中,输出层使用sigmoid函数进行激活,除了输出层之外的其余层使用ReLU函数进行激活;

(5)在判别器中,输出层不再采用sigmoid函数进行激活,除输出层之外的其余层都使用带泄漏的ReLU函数进行激活;

步骤八、使用训练数据集对种子生成模型进行训练,得到新的初始测试样例;

步骤九、AFL通过对新的初始测试样例进行随机变异产生新的输入测试样例,经过Move语言虚拟机执行后,AFL继续收集能够触发目标测试程序出现崩溃和超时的输入样例,返回步骤六,将其作为训练数据继续优化种子生成模型。

2.如权利要求1所述的一种面向Move语言虚拟机的模糊测试方法,其特征在于,所述步骤一中被调用的两个接口函数为execute_script()和module_publish(),这两个接口为目标测试接口。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110891571.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top