Effective Targeted Testing of Smart Contracts
Mahdi Fooladgar, Fathiyeh Faghih

TL;DR
This paper introduces Griffin, a targeted symbolic execution framework for smart contract testing that efficiently generates test data to reach specific code lines or safety conditions, addressing a gap in existing testing methods.
Contribution
The paper presents Griffin, a novel targeted symbolic execution tool tailored for smart contracts, including an enhanced CFG+ structure and heuristics for efficient test data generation.
Findings
Griffin effectively finds test data for smart contracts within reasonable time.
CFG+ improves the accuracy of control-flow analysis for Solidity.
Experimental results show Griffin's efficiency on real-world smart contracts.
Abstract
Smart contracts are autonomous and immutable pieces of code that are deployed on blockchain networks and run by miners. They were first introduced by Ethereum in 2014 and have since been used for various applications such as security tokens, voting, gambling, non-fungible tokens, self-sovereign identities, stock taking, decentralized finances, decentralized exchanges, and atomic swaps. Since smart contracts are immutable, their bugs cannot be fixed, which may lead to significant monetary losses. While many researchers have focused on testing smart contracts, our recent work has highlighted a gap between test adequacy and test data generation, despite numerous efforts in both fields. Our framework, Griffin, tackles this deficiency by employing a targeted symbolic execution technique for generating test data. This tool can be used in diverse applications, such as killing the survived…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDigital Transformation in Law · European and International Contract Law · Blockchain Technology Applications and Security
