Metadata-Version: 2.1
Name: eth-vertigo
Version: 1.1.1
Summary: Mutation Testing for Ethereum Smart Contracts
Home-page: https://github.com/joranhonig/vertigo
Author: Joran Honig
Author-email: joran.honig@gmail.com
License: GPLv3
Description: # vertigo
        [![Build Status](https://travis-ci.org/JoranHonig/vertigo.svg?branch=master)](https://travis-ci.org/JoranHonig/vertigo)
        [![Gitter](https://badges.gitter.im/eth-vertigo/community.svg)](https://gitter.im/eth-vertigo/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
        
        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:
        ```bash
        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 your`truffle-config.js`):
        
        ```bash
        vertigo run --network development
        ```
        Depending on your environment it might be required to specify the location of the truffle executable:
        ```bash
        vertigo run --network development --truffle-location <node_dir>/bin/truffle 
        ```
        
        There are a few additional parameters available that allow you to tweak the execution of vertigo:
        ```bash
        $ python vertigo.py run --help                                                                                                                                                 ⬡ 9.11.2 [±master ●●]
        Usage: vertigo.py run [OPTIONS]
        
          Performs a core test campaign
        
        Options:
          --output TEXT            Output core test results to file
          --network TEXT           Network names that vertigo can use
          --rules TEXT             Universal Mutator style rules to use in mutation
                                   testing
          --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 and Articles
        [Practical Mutation Testing for Smart Contracts](https://link.springer.com/chapter/10.1007/978-3-030-31500-9_19) - Joran J. Honig, Maarten H. Everts, Marieke Huisman
        
        [Introduction into Mutation Testing](https://medium.com/swlh/introduction-into-mutation-testing-d6512dc702b0?source=friends_link&sk=2878e0c08b6301a125198a264e43edb4) - Joran Honig
        
        If you want to cite vertigo, please use the following:
        ```
        @InProceedings{10.1007/978-3-030-31500-9_19,
        author="Honig, Joran J.
        and Everts, Maarten H.
        and Huisman, Marieke",
        title="Practical Mutation Testing for Smart Contracts",
        booktitle="Data Privacy Management, Cryptocurrencies and Blockchain Technology",
        year="2019",
        publisher="Springer International Publishing",
        pages="289--303"
        }
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
