TY - GEN
T1 - SynTest-Solidity: Automated Test Case Generation and Fuzzing for Smart Contracts
AU - Olsthoorn, Mitchell
AU - Stallenberg, D.M.
AU - van Deursen, A.
AU - Panichella, A.
PY - 2022
Y1 - 2022
N2 - 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.
AB - 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.
UR - https://github.com/syntest-framework
UR - http://www.scopus.com/inward/record.url?scp=85132357453&partnerID=8YFLogxK
U2 - 10.1109/ICSE-Companion55297.2022.9793754
DO - 10.1109/ICSE-Companion55297.2022.9793754
M3 - Conference contribution
T3 - Proceedings - International Conference on Software Engineering
SP - 202
EP - 206
BT - The 44th International Conference on Software Engineering - Demonstration Track
PB - IEEE / ACM
ER -