首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于强化学习的智能合约模糊测试方法及系统_广东新安怀科技发展有限公司_202111075586.4 

申请/专利权人:广东新安怀科技发展有限公司

申请日:2021-09-14

公开(公告)日:2024-06-21

公开(公告)号:CN113836009B

主分类号:G06F11/36

分类号:G06F11/36;G06F21/57;G06F18/20;G06N3/092

优先权:

专利状态码:有效-授权

法律状态:2024.06.21#授权;2022.01.11#实质审查的生效;2021.12.24#公开

摘要:本发明提出一种基于强化学习的智能合约模糊测试方法及系统,包括步骤:S1:搭建智能合约的虚拟运行环境;S2:收集带有漏洞的智能合约开源代码,构建数据集;S3:将强化学习过程基于马尔可夫决策过程进行建模,构建用于在不同状态下选择有效动作的强化学习算法策略;S4:基于强化学习算法策略在不同状态下从动作集中选择有效的动作作为测试数据,利用所述测试数据对智能合约进行模糊测试。将强化学习过程基于马尔可夫决策过程进行建模,构建用于在不同状态下选择有效动作的强化学习算法策略,所述强化学习算法策略以代码覆盖率的增长作为奖励,更新状态‑动作网络参数,以提高了模糊测试中对智能合约的代码覆盖率。

主权项:1.一种基于强化学习的智能合约模糊测试方法,其特征在于,包括以下步骤:S1:搭建智能合约的虚拟运行环境;S2:收集带有漏洞的智能合约开源代码,构建数据集;S3:将强化学习过程基于马尔可夫决策过程进行建模,利用所述数据集构建用于在不同状态下选择有效动作的强化学习算法策略,所述强化学习算法策略以代码覆盖率的增长作为奖励,更新强化学习算法策略中的状态-动作网络参数,包括:S3.1:初始化:在智能合约的虚拟运行环境,从智能合约代码数据集中随机生成一个初始交易字节码a0,将状态-动作网络参数Q设为随机参数;S3.2:选择动作:根据当前状态使用1-e的贪婪算法从动作集中选择动作;在选择动作后,使用所选择的动作对初始交易字节码a0突变,生成新的交易字节码a;其中,e为设定的参数,0e1;S3.3:抽取相关状态:在智能合约执行完交易后,智能合约的相关状态会发生变化,对相关状态进行抽取,并将抽取的相关状态转化为状态向量x;S3.4:计算奖励:将代码覆盖率的增长作为奖励值rx,a,利用奖励函数计算奖励;S3.5:更新网络:根据状态向量x以及奖励值r,利用状态转换函数对状态-动作网络参数Q进行更新;状态-动作网络参数Q更新后,继续执行步骤S3.2,直到状态-动作网络参数Q收敛、测试次数达到预设值或代码覆盖率达到预设值;S4:基于强化学习算法策略在不同状态下选择有效的动作作为测试数据,利用所述测试数据对智能合约进行模糊测试,通过检测智能合约运行的状态历史和交易历史确定智能合约中的漏洞。

全文数据:

权利要求:

百度查询: 广东新安怀科技发展有限公司 一种基于强化学习的智能合约模糊测试方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。