中文

以太坊智能合约缺陷框架与数据集

软件工程 2020-09-07 v1

摘要

以太坊是支持智能合约的最大区块链平台。用户通过将智能合约的字节码发布到区块链上来部署智能合约。由于区块链中的数据不可修改,即使这些合约包含缺陷,也无法通过代码更新来修补已部署的智能合约。此外,目前既缺乏针对以太坊智能合约缺陷的综合分类框架,也没有检测智能合约中缺陷的详细准则,使得开发者难以充分理解缺陷的负面影响并设计新方法来检测缺陷。为填补这一空白,本文首先从多个来源尽可能多地收集智能合约缺陷,并通过扩展 IEEE 软件异常标准分类将其分为 9 类。随后,我们设计了各类缺陷的检测准则,并构建了一个覆盖所有类型缺陷的智能合约数据集。借助我们的框架与数据集,开发者可以学习智能合约缺陷并开发新工具来检测和定位智能合约中的缺陷。此外,我们使用该数据集对最先进的智能合约分析工具进行评估,获得了一些有趣发现:1) Mythril、Slither 和 Remix 是最值得组合使用的分析工具;2) 仍有 10 类缺陷无法被任何分析工具检测到。

关键词

引用

@article{arxiv.2009.02066,
  title  = {A Framework and DataSet for Bugs in Ethereum Smart Contracts},
  author = {Pengcheng Zhang and Feng Xiao and Xiapu Luo},
  journal= {arXiv preprint arXiv:2009.02066},
  year   = {2020}
}

备注

12 pages