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.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55c132aba8aaf9b721516e5e45e89579c5d02a1f5e77b1f4848be0e979e87e3f |
|
MD5 | f8a1d8138531a57a3342fbad4152d921 |
|
BLAKE2b-256 | 71b218d03f359975a80c6177b25362847d3985a366eb31dc1fbb4aaf37722581 |