Automated Test-Case Generation for Solidity Smart Contracts: the AGSolT Approach and its Evaluation
Stefan Driessen, Dario Di Nucci, Geert Monsieur, Damian A. Tamburri,, Willem-Jan van den Heuvel

TL;DR
This paper introduces AGSOLT, an automated tool for generating test suites for Solidity smart contracts, demonstrating high coverage and error detection capabilities through genetic and random search algorithms.
Contribution
The paper presents AGSOLT, a novel automated test suite generator for Solidity contracts that effectively uses search algorithms to improve testing coverage and find errors.
Findings
Achieves high branch coverage on real-world contracts
Discovered errors in popular Solidity contracts
Genetic algorithm outperforms random search in some cases
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, these tools generally do not produce test suites suitable for human oracles. 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…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Advanced Malware Detection Techniques · Adversarial Robustness in Machine Learning
