# solc-verify: A Modular Verifier for Solidity Smart Contracts

**Authors:** \'Akos Hajdu, Dejan Jovanovi\'c

arXiv: 1907.04262 · 2020-03-17

## TL;DR

solc-verify is a source-level verification tool for Ethereum smart contracts written in Solidity, enabling automated reasoning about contract correctness and properties through modular analysis and SMT solvers.

## Contribution

It introduces a modular verification approach at the Solidity source level, integrating annotations for automated property verification of smart contracts.

## Key findings

- Successfully verified real-world smart contracts.
- Effectively identified bugs in Solidity code.
- Proved complex properties with minimal user input.

## Abstract

We present solc-verify, a source-level verification tool for Ethereum smart contracts. Solc-verify takes smart contracts written in Solidity and discharges verification conditions using modular program analysis and SMT solvers. Built on top of the Solidity compiler, solc-verify reasons at the level of the contract source code, as opposed to the more common approaches that operate at the level of Ethereum bytecode. This enables solc-verify to effectively reason about high-level contract properties while modeling low-level language semantics precisely. The contract properties, such as contract invariants, loop invariants, and function pre- and post-conditions, can be provided as annotations in the code by the developer. This enables automated, yet user-friendly formal verification for smart contracts. We demonstrate solc-verify by examining real-world examples where our tool can effectively find bugs and prove correctness of non-trivial properties with minimal user effort.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.04262/full.md

## Figures

17 figures with captions in the complete paper: https://tomesphere.com/paper/1907.04262/full.md

## References

41 references — full list in the complete paper: https://tomesphere.com/paper/1907.04262/full.md

---
Source: https://tomesphere.com/paper/1907.04262