MagicMirror: Towards High-Coverage Fuzzing of Smart Contracts
【Author】 Feng, Huadong; Ren, Xiaolei; Wei, Qiping; Lei, Yu; Kacker, Raghu; Kuhn, D. Richard; Simos, Dimitirs E.
【Source】2023 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST
【影响因子】
【Abstract】A smart contract is often used to handle financial transactions. Unlike traditional programs, contract codes cannot be changed after deployment. It is crucial to test smart contracts thoroughly before deployment. In this paper, we present a fuzzing approach to testing smart contracts. Our fuzzing approach utilizes constraint solving, selective state exploration, and combinatorial testing to improve code coverage. Constraint solving generates test inputs that meet preconditions in a smart contract. Selective state exploration allows different state-dependent behaviors to be exercised while alleviating the state explosion problem. Combinatorial testing is used to exercise parameter interactions in a systematic manner. We implemented our approach in a tool called MagicMirror and evaluated our approach using more than 2,000 contracts. The experimental results show that MagicMirror effectively achieves high code coverage and detects vulnerabilities.
【Keywords】Blockchain; smart contracts; fuzzing; constraint solving; combinatorial testing; security analysis; vulnerability detectio
【发表时间】2023
【收录时间】2023-07-24
【文献类型】实验仿真
【主题类别】
区块链技术-核心技术-智能合约
评论