solc-verify: A Modular Verifier for Solidity Smart Contracts
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). First posted on arXiv 9 Jul 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 5.
5 papers.
- 2025Agentic Specification Generator for Move Programscited by 3
- 2025SymGPT: Auditing Smart Contracts via Combining Symbolic Execution with Large Language Modelscited by 2
- 2025Approximate SMT Counting Beyond Discrete Domainscited by 0
- 2025Validating Solidity Code Defects using Symbolic and Concrete Execution powered by Large Language Modelscited by 0
- 2025LLMs as verification oracles for Soliditycited by 0
- 2025Agentic Specification Generator for Move Programs29 Sep 2025
- 2025LLMs as verification oracles for Solidity23 Sep 2025
- 2025Validating Solidity Code Defects using Symbolic and Concrete Execution powered by Large Language Models16 Sep 2025
- 2025Approximate SMT Counting Beyond Discrete Domains24 Jul 2025
- 2025SymGPT: Auditing Smart Contracts via Combining Symbolic Execution with Large Language Models11 Feb 2025