sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts

By Tai D. Nguyen, Long H. Pham, Jun Sun, Yun Lin, Quang Tran Minh. International Conference on Software Engineering, 2020

391 citations recorded by the source corpus.

Smart contracts are Turing-complete programs that execute on the infrastructure of the blockchain, which often manage valuable digital assets. Solidity is one of the most popular programming languages for writing smart contracts on the Ethereum platform. Like traditional programs, smart contracts may contain vulnerabilities. Unlike traditional programs, smart contracts cannot be easily patched once they are deployed. It is thus important that smart contracts are tested thoroughly before deployment. In this work, we present an adaptive fuzzer for smart contracts on the Ethereum platform called sFuzz. Compared to existing Solidity fuzzers, sFuzz combines the strategy in the AFL fuzzer and an efficient lightweight multi-objective adaptive strategy targeting those hard-to-cover branches. sFuzz has been applied to more than 4 thousand smart contracts and the experimental results show that (1) sFuzz is efficient, e.g., two orders of magnitude faster than state-of-the-art tools; (2) sFuzz is effective in achieving high code coverage and discovering vulnerabilities; and (3) the different fuzzing strategies in sFuzz complement each other.

Subfields: Artificial Intelligence, Information Systems

View Paper: https://www.semanticscholar.org/paper/f9233720b7a26b7324a1cc1ecbadf83c529efd73

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Sheng Wen
  2. Seyit Ahmet Camtepe
  3. Yang Xiang

In Information Systems

  1. Sheng Wen
  2. Seyit Ahmet Camtepe
  3. Xiaogang Zhu
  4. Yang Xiang

Citations in the corpus