SolCMC: Solidity Compiler’s Model Checker
Leonardo Alt, Martin Blicha, Antti E. J. Hyvärinen, Natasha Sharygina
Abstract
Abstract Formally verifying smart contracts is important due to their immutable nature, usual open source licenses, and high financial incentives for exploits. Since 2019 the Ethereum Foundation’s Solidity compiler ships with a model checker. The checker, called SolCMC, has two different reasoning engines and tracks closely the development of the Solidity language. We describe SolCMC’s architecture and use from the perspective of developers of both smart contracts and tools for software verification, and show how to analyze nontrivial properties of real life contracts in a fully automated manner.
Topics & Concepts
SolidityCompilerComputer scienceModel checkingExploitProgramming languageArchitecturePerspective (graphical)SoftwareFoundation (evidence)Software engineeringArtificial intelligenceComputer securityHistoryArchaeologyArtVisual artsSecurity and Verification in ComputingAdvanced Malware Detection TechniquesBlockchain Technology Applications and Security