中文

面向以太坊智能合约的变异测试

软件工程 2019-08-13 v1

摘要

智能合约是一种在区块链上管理数字资产的特殊程序。若用户通过存在缺陷且无法直接修复的有缺陷智能合约进行交易,损失难以挽回。因此,在部署前确保智能合约的正确性十分重要。本文提出了一个针对以太坊上智能合约变异测试的系统框架,以太坊目前是最流行的用于部署和运行智能合约的开放区块链。我们针对以太坊智能合约(ESC)设计了 15 种新型变异算子,涉及关键字、全局变量/函数、变量单位和错误处理等方面。我们对四个以太坊 DApp 中的 26 个智能合约进行了实证研究,以评估变异测试的有效性。实验结果表明,我们的方法在缺陷检测率上优于基于覆盖的方法(96.01% 对比 55.68%)。ESC 变异算子能有效揭示真实缺陷,我们发现 729 份真实缺陷报告中有 117 份与我们的算子相关。这些显示了将变异测试用于 ESC 质量保障的巨大潜力。

关键词

引用

@article{arxiv.1908.03707,
  title  = {Mutation Testing for Ethereum Smart Contract},
  author = {Haoran Wu and Xingya Wang and Jiehui Xu and Weiqin Zou and Lingming Zhang and Zhenyu Chen},
  journal= {arXiv preprint arXiv:1908.03707},
  year   = {2019}
}

备注

blockchain, Ethereum smart contract, mutation testing, mutation operator