PV0 SolCMC

Application domain/field

Type of tool

Model checker

Expected input

Solidity program with assert statements

Format:

Solidity language SolCMC uses the asserts and requires clauses to identify verification targets.

Expected output

Reports violations of:

Internals

SolCMC supports unbounded model checking as well as bounded model checking. It encodes a smart contract as a system of constrained horn clauses for unbounded model checking. It is encoded in SMT queries for bounded model checking. It uses Spacer and Eldarica. It uses cvc5 and Z3 for bounded model checking.

Comments

Shipped with Ethereum Foundation's Solidity compiler. Used to be called SMTChecker.
Model checking Smart contract

Links

Related papers

Last publication date

2022

Related tools

Other tools for analyzing Solidity programs: Solc-verify, Verisol, SmartAce, EThor, Certora, K framework, HEVM, Echidna, Slither

ProVerB specific



ProVerB is a part of SLEBoK. Last updated: February 2023.