Skip to content
SPECIFICTION
Get listed

Gambit vs pymute

Gambit

certora.com

pymute

github.com

Side by side

FigureGambitpymute
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Plans published01
Spec score · Mutation Testing Tools7.8 (#8)7.7 (#9)
How it worksGambit introduces faults called mutants into selected contracts and measures whether a test suite detects them.It creates a temporary directory for each mutant and inserts mutations by manipulating text in Python files rather than operating on the AST.
InstallationPrebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source.The README says to install pymute with Cargo from crates.io or directly from GitHub, and requires Rust and Cargo.
LicenseThe Gambit GitHub repository identifies its license as MIT.The repository identifies its license as Unlicense.
MakerGambit is built and maintained as an open-source project by the Certora team.The Cargo manifest names Leonard Sasse as the author.
PurposeGambit is an open source Solidity mutation testing tool that evaluates and strengthens a testing suite.Pymute is a mutation testing tool for Python and Pytest written in Rust.

Plans

Gambit

No plans published.

Gambit pricing →

pymute

  • Free/open-sourceFree

pymute pricing →

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.

Visit certora.com

pymute

pymute is a free mutation testing tool for Python projects using pytest or tox, written in Rust. It creates a temporary directory for each mutant and changes Python file text rather than operating on the abstract syntax tree. Pytest is the default runner, and documented mutation types include math operators, conjunctions, booleans, control flow, comparisons and numbers. By default, it reports mutants that survive because tests pass; other output levels can show caught mutants or process output. Options let users filter modules with a glob, select tests and mutation types, set thread count and cap the number of mutants. That cap runs a randomly selected subset. Installation uses Cargo from crates.io or GitHub and requires Rust and Cargo. With pytest, tests need to run from the project root in independent copies and exercise the local copy rather than an installed package. Tox sets up a separate environment and installs the package for each mutant, which the project describes as considerably slower. Parallel threads each need temporary disk space, and a run may fail if /tmp runs out. The repository identifies its license as Unlicense.

Visit github.com