Precision-guided Smart Contract Fuzzing by static Analyses

Different from traditional software, smart contracts operate on a world state and are driven by transactions. Therefore, classic fuzzing techniques cannot easily find the critical transaction chains in the above process. Specifically, we leverage static analysis to guide the fuzzing. We build a CFG based on smart contract bytecode and perform a symbolic execution to calculate the constraint conditions of critical paths. We also do data flow analysis on transaction dependencies. The former helps optimize the fuzz testing seed generation so that the testing space can be reduced. The latter assists the fuzz testing process in generating more targeted transaction chains that can trigger deeper vulnerabilities within the smart contract. We implement our approach in an efficient open-source fuzzer, "smartfuzz", which can discover vulnerabilities in industrial smart contracts when the original source code is unavailable. We evaluate smartfuzz with Oyente, one of the most widely-used smart contract vulnerability detector tools on two data sets of 546 total contracts. Results clearly indicate that smartfuzz is much more effective than the state-of-the-art tools and it also performs much better regarding code coverage.

Authors

Institutions

Publication Details

Published
2025-01-10
DOI
https://doi.org/10.1145/3727353.3727464
Primary Topic
Blockchain Technology Applications and Security
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Precision-guided Smart Contract Fuzzing by static Analyses

Jianbin Gao, Qi Xia, T. Zhang, Hu Xia
Blockchain Technology Applications and Security
article

Precision-guided Smart Contract Fuzzing by static Analyses

Jianbin Gao, Qi Xia, T. Zhang, Hu Xia
article en

Abstract

Different from traditional software, smart contracts operate on a world state and are driven by transactions. Therefore, classic fuzzing techniques cannot easily find the critical transaction chains in the above process. Specifically, we leverage static analysis to guide the fuzzing. We build a CFG based on smart contract bytecode and perform a symbolic execution to calculate the constraint conditions of critical paths. We also do data flow analysis on transaction dependencies. The former helps optimize the fuzz testing seed generation so that the testing space can be reduced. The latter assists the fuzz testing process in generating more targeted transaction chains that can trigger deeper vulnerabilities within the smart contract. We implement our approach in an efficient open-source fuzzer, "smartfuzz", which can discover vulnerabilities in industrial smart contracts when the original source code is unavailable. We evaluate smartfuzz with Oyente, one of the most widely-used smart contract vulnerability detector tools on two data sets of 546 total contracts. Results clearly indicate that smartfuzz is much more effective than the state-of-the-art tools and it also performs much better regarding code coverage.

University of Electronic Science and Technology of China (CN)
National Natural Science Foundation of China, Jiangsu Development and Reform Commission
Openalex Percentile: Top 84%
Blockchain Technology Applications and Security
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Precision-guided Smart Contract Fuzzing by static Analyses — Jianbin Gao, Qi Xia, et al. · (2025) | TGRS Research Map | TGRS