arXiv · 1906.04984
SAFEVM: A Safety Verifier for Ethereum Smart Contracts
Abstract
Ethereum smart contracts are public, immutable and distributed and, as such, they are prone to vulnerabilities sourcing from programming mistakes of developers. This paper presents SAFEVM, a verification tool for Ethereum smart contracts that makes use of state-of-the-art verification engines for C programs. SAFEVM takes as input an Ethereum smart contract (provided either in Solidity source code, or in compiled EVM bytecode), optionally with assert and require verification annotations, and produces in the output a report with the verification results. Besides general safety annotations, SAFEVM handles the verification of array accesses: it automatically generates SV-COMP verification assertions such that C verification engines can prove safety of array accesses. Our experimental evaluation has been undertaken on all contracts pulled from etherscan.io (more than 24,000) by using as back-end verifiers CPAchecker, SeaHorn and VeryMax.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Elvira Albert, Jesús Correas, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio. 2019-06-12. SAFEVM: A Safety Verifier for Ethereum Smart Contracts. https://arxiv.org/abs/1906.04984
Cite the original work for its findings. Save a collection to share your selection of sources.