AGSolT: a Tool for Automated Test-Case Generation for Solidity Smart Contracts

Stefan Driessen

Research output: Other contribution

Abstract

Blockchain and smart contract technology are novel approaches to data and code management, that facilitate trusted computing by allowing for development in a distributed and decentralized manner. Testing smart contracts comes with its own set of challenges which have not yet been fully identified and explored. Although existing tools can identify and discover known vulnerabilities and their interactions on the Ethereum blockchain through random search or symbolic execution, no framework exists for applying advanced, multi-objective algorithms to create test suites for such smart contracts. In this paper, we present AGSolT (Automated Generator of Solidity Test Suites). We demonstrate its efficiency by implementing two search algorithms to automatically generate test suites for stand-alone Solidity smart contracts, taking into account some of the blockchain-specific challenges. To test AGSolT, we compared a random search algorithm and a genetic algorithm on a set of 36 real-world smart contracts. We found that AGSolT is capable of achieving high branch overage with both approaches and even discovered some errors in some of the most popular Solidity smart contracts on Github.
Original languageEnglish
Publication statusPublished - 17 Feb 2021

Fingerprint

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

Cite this