This repository contains the benchmarks used to evaluate the performance of the VerX verifier.
Details on the verification method behind VerX and the benchmarks are available in the following research paper:
- VerX: Safety Verification of Smart Contracts
Anton Permenev, Dimitar Dimitrov, Petar Tsankov, Dana Drachsler-Cohen, Martin Vechev
IEEE Symposium of Security and Privacy 2020.
Each folder contains a single benchmark and contains the following:
- A file
main.solis the flattened Solidity file. Each Solidity file has a designatedDeployercontract which specifies the initial state of the contract. Namely, theDeployercontract has a constructor that does not take any arguments and deploys all contracts part of the benchmark. - A folder
specscontains a safety specification specified in the VerX specification language. The syntax of the VerX specification language is available here.