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

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

2 Citations (Scopus)
381 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
Subtitle of host publicationCompanion Proceedings, ICSE-Companion 2022
PublisherIEEE / ACM
Pages202-206
Number of pages5
ISBN (Electronic)9781665495981
DOIs
Publication statusPublished - 2022

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

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