SynTest-Solidity: Automated Test Case Generation and Fuzzing for Smart Contracts

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

75 Downloads (Pure)

Abstract

Ethereum is the largest and most prominent smart contract platform. One key property of Ethereum is that once a contract is deployed, it can not be updated anymore. This increases the importance of thoroughly testing the behavior and constraints of the smart contract before deployment. Existing approaches in related work either do not scale or are only focused on finding crashing inputs. In this tool demo, we introduce SynTest-Solidity, an automated test case generation and fuzzing framework for Solidity. SynTest-Solidity implements various metaheuristic search algorithms, including random search (traditional fuzzing) and genetic algorithms (i.e., NSGA-II, MOSA, and DynaMOSA). Finally, we performed a preliminary empirical study to assess the effectiveness of SynTest-Solidity in testing Solidity smart contracts.
Original languageEnglish
Title of host publicationThe 44th International Conference on Software Engineering - Demonstration Track
PublisherIEEE / ACM
DOIs
Publication statusAccepted/In press - 2022

Fingerprint

Dive into the research topics of 'SynTest-Solidity: Automated Test Case Generation and Fuzzing for Smart Contracts'. Together they form a unique fingerprint.

Cite this