Gambit vs MutPy
Gambit
certora.comMutPy
github.comSide by side
| Figure | Gambit | MutPy |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Mutation Testing Tools | 7.8 (#8) | 7.9 (#7) |
| Installation | Prebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source. | The project README gives pip installation and source installation instructions. |
| Intended users | The maker describes Gambit as usable on any Solidity project. | PyPI classifies the package for developers and software testing. |
| License | The Gambit GitHub repository identifies its license as MIT. | The project is licensed under the Apache License, Version 2.0. |
| Purpose | Gambit is an open source Solidity mutation testing tool that evaluates and strengthens a testing suite. | MutPy is a mutation testing tool for Python source code that evaluates the quality of software tests. |
Plans
In their own words
Gambit
Gambit is a free, open-source mutation testing tool for Solidity projects. It generates altered contract versions, called mutants, to measure whether a test suite or formal verification specification detects faults. Gambit locates mutation points by traversing a program’s abstract syntax tree and applying predefined syntax transformations. A declarative configuration language lets users tailor mutations to specific parts of a program. Results can be viewed in a dashboard that summarizes mutant verification and calculates a specification score. Gambit can work with the Certora Prover to evaluate formal specifications; that workflow generates mutants and submits a verification job for each to Certora’s server. The command line includes `mutate` for generating mutants and `summary` for presenting them. A compatible `solc` binary is required for the project being mutated. Gambit supports Solidity and is listed for Linux, macOS, and Windows, though prebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source. Function-call and swap-arguments-function mutation operators are disabled. The repository identifies the license as MIT. Certora directs product questions to its Help Desk channel on Discord.
MutPy
MutPy is a mutation testing tool for Python that checks whether a test suite catches changes to its source code. It creates mutations at the abstract syntax tree level, then runs tests to reveal which changes go undetected. The project describes compatibility with Python 3.3 and later. It uses unittest by default, while pytest support is experimental. Reports can be generated in YAML or HTML, and coverage analysis can restrict mutation to code exercised by tests. Users can also select or disable operators and sample a percentage of mutants. MutPy supports higher order mutations and includes standard and experimental operator sets. Installation is documented through pip from PyPI or from the repository source. The software is free at free and licensed under Apache License 2.0. PyPI lists version 0.6.1, released November 17, 2019, as the latest release. The README warns that disabling stdout can damage tests that interact with sys.stdout.