Mutation Testing for Ethereum Smart Contracts
Project description
vertigo
Vertigo is a mutation testing framework designed to work specifically for smart contracts. This mutation testing framework implements a range of mutation operators that are either selected from previous works or tailored to solidity.
Quick Start Guide
To install vertigo, execute the following command:
pip3 install --user eth-vertigo
You can now run vertigo on a truffle project with the following command (assuming you have a development
network configured in yourtruffle-config.js
):
vertigo run --network development
Depending on your environment it might be required to specify the location of the truffle executable:
vertigo run --network development --truffle <node_dir>/bin/truffle
There are a few additional parameters available that allow you to tweak the execution of vertigo:
$ vertigo run --help ⬡ 9.11.2 [±master ●●▴]
Usage: vertigo run [OPTIONS]
Performs a mutation test campaign
Options:
--output TEXT Output mutation test results to file
--network TEXT Network names that vertigo can use
--truffle-location TEXT Location of truffle cli
--sample-ratio FLOAT If this option is set. Vertigo will apply the
sample filter with the given ratio
--exclude TEXT Vertigo won't mutate files in these directories
--help Show this message and exit.
Publications
A paper to introduce Vertigo will be presented CBT'19
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for eth_vertigo-1.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fd2e3bc2088cbfb74396630d1d4f4408455ff51422b8e307bff99a6cc11df22 |
|
MD5 | d5fa5cabd866683ef005769882f4a6ed |
|
BLAKE2b-256 | 668588934174c1f3fb7c94442f6dcb00eff30eda98c037a10a86c15e28044a1c |