← works
2019 · Software Security · Ethereum · Framework

SmartBugs

A framework for running static-analysis tools over Solidity smart contracts, with a curated vulnerability dataset.

github ↗ 9 tools · 47k contracts

The problem

Many analysis tools exist for Ethereum smart contracts, but each has its own interface and output, so there was no practical way to run them together or compare them at scale.

The approach

SmartBugs gives all these tools a common execution framework and a normalized way to collect their results, alongside a curated dataset of known vulnerabilities.

In practice

It made possible a large empirical comparison of nine analyzers over ~47,000 contracts (ICSE 2020), and was later re-engineered as SmartBugs 2.0 (ASE 2023) with more tools and a faster pipeline.

Highlights

  • Unified runner for 9+ analysis tools
  • Benchmarked across ~47,000 contracts (ICSE 2020)
  • Re-engineered as SmartBugs 2.0 (ASE 2023)