一种基于符号执行与模糊的智能合约测试方法技术

技术编号:32586114 阅读:24 留言:0更新日期:2022-03-09 17:19
本发明专利技术公开了一种基于符号执行与模糊的智能合约测试方法,该方法具体包括下述步骤:S01、用户输入智能合约初始测试用例集;S02、执行测试并记录,记录程序的执行路径信息和详细执行信息,并将执行路径信息放入种子池中;S03、更新覆盖信息和报告崩溃;S04、符号执行系统性地搜索,当发现某个分支未被覆盖时,则生成相应的测试用例并加入到测试用例集中;S05、根据种子选择策略选择种子;S06、根据种子变异策略进行变异,变异生成新的测试用例集;S07、重复执行步骤S02

【技术实现步骤摘要】
一种基于符号执行与模糊的智能合约测试方法


[0001]本专利技术属于区块链
,特别涉及一种基于符号执行与模糊的智能合约测试方法。

技术介绍

[0002]区块链保证上链的数据很难被篡改,而且数据在各节点都有存储,节点投票维持一致性。智能合约是区块链的核心技术之一,是多方参与场景中的共识规则,更是智能合约是价值传递的中枢。之所以区块链出现以后安全问题变得前所未有的重要,是因为智能合约实现的是一种价值传递,区块链上的每一个数字都是价值,每个漏洞导致的数字变化,其背后就是巨额的价值损失。糊测试是一种有效的自动化漏洞挖掘技术,主流模糊测试技术采用遗传算法生成测试用例,存在早熟现象,导致路径覆盖率不足。
[0003]基于此,提出一种基于符号执行与模糊的智能合约测试方法,实现智能合约自动化、高效的测试。

技术实现思路

[0004]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供本专利技术针对目前技术发展的需求和不足之处,提供一种基于符号执行与模糊的智能合约测试方法。
[0005]首先,本专利技术提供一种基于符本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于符号执行与模糊的智能合约测试方法,其特征在于,该方法的实现过程包括:S01、用户输入智能合约初始测试用例集;S02、执行测试并记录,记录程序的执行路径信息和详细执行信息,并将执行路径信息放入种子池中;S03、更新覆盖信息和报告崩溃;S04、符号执行系统性地搜索,当发现某个分支未被覆盖时,则生成相应的测试用例并加入到测试用例集中;S05、根据种子选择策略选择种子;S06、根据种子变异策略进行变异,变异生成新的测试用例集;S07、重复执行步骤S02

S06直到用户手动结束或者当超过一定时间没有产生新的路径后停止测试。2.根据权利要求1所述的一种智能合约模糊测试系统,其特征在于该系统能够使用于各种区块链平台的智能合约。3.根据权利要求1所述一种基于符号执行与模糊的智能合约测试方法,其特征在于,所述步骤S01中初始测试用例集,是人工进行构建,满足智能合约的语法规则。4.根据权利要求1所述一种基于符号执行与模糊的智能合约测试方法,其特征在于,所述步骤S02中记录程序的执行路径信息和详细执行信息,是通过虚拟...

【专利技术属性】
技术研发人员:王荣蔡维德
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1