基于 Metamorphic Testing 的智能合约验证:以以太坊众筹合约为例
软件工程
2025-01-20 v1
摘要
区块链智能合约在金融、医疗和供应链等多样领域发挥着自动化和安全协商的关键作用。尽管其关键应用日益增长,对这些合约的测试往往不如开发得到足够关注,导致因部署后不可更改性而存在重大风险。智能合约测试的关键挑战之一是“oracle 问题”,即exact expected outcomes(精确的预期结果)难以明确定义, complicating systematic testing efforts。Metamorphic Testing(MT)通过使用 Metamorphic Relations(MRs)来验证智能合约,解决了 oracle 问题。MRs 定义了输出应相对于特定输入修改如何变化,从而决定测试通过或失败。本文将 MT 应用于测试基于以太坊的众筹智能合约,聚焦于状态转换和捐赠跟踪等核心功能。我们确定了一套针对智能合约测试的 MRs,并为这些 MRs 生成测试用例。为评估该方法的有效性,我们使用 Vertigo mutation testing tool 创建故障版本的智能合约。实验结果表明,我们的 MRs 检测到总体 mutants 的 25.65%,最有效的 MRs 实现了 89% 的 mutant-killing rate。这些结果凸显了 MT 确保基于区块链智能合约可靠性和质量的作用。
引用
@article{arxiv.2501.09955,
title = {Metamorphic Testing for Smart Contract Validation:A Case Study of Ethereum-Based Crowdfunding Contracts},
author = {Irving Jared Villanueva and Madhusudan Srinivasan and Faqeer Ur Rehman},
journal= {arXiv preprint arXiv:2501.09955},
year = {2025}
}