Skip to content
SPECIFICTION
Get listed

Gambit

certora.com

WindowsmacOSLinux
Visit certora.com
Spec score 7.8 #8 of 25 in Mutation Testing Tools

What it is

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.

Spec sheet

Purpose
Gambit is an open source Solidity mutation testing tool that evaluates and strengthens a testing suite.Read 7 Oct 2026 · certora.com
Intended users
The maker describes Gambit as usable on any Solidity project.Read 7 Oct 2026 · certora.com
Platforms
Prebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source.Read 7 Oct 2026 · github.com
Support
Certora's documentation says product questions can be directed to its Help Desk channel on Discord.Read 7 Oct 2026 · docs.certora.com
License
The Gambit GitHub repository identifies its license as MIT.Read 7 Oct 2026 · github.com
Maker
Gambit is built and maintained as an open-source project by the Certora team.Read 7 Oct 2026 · certora.com
Certora Prover integration
Gambit mutations can be used with the Certora Prover to evaluate formal specifications as well as tests.Read 7 Oct 2026 · certora.com
Command line
Gambit provides `mutate` to generate mutants and `summary` to summarize generated mutants.Read 7 Oct 2026 · github.com
Commands
Gambit provides mutate for generating mutants and summary for presenting generated mutants in a human-readable format.Read 7 Oct 2026 · github.com
Compiler requirement
Gambit uses the Solidity compiler `solc` and requires a compatible binary for the project being mutated.Read 7 Oct 2026 · github.com
Dashboard
Gambit results can be viewed in a dashboard that summarizes mutant verification results and computes a specification score.Read 7 Oct 2026 · certora.com
Formal specifications
Gambit mutants can be used to evaluate both tests and formal specifications.Read 7 Oct 2026 · certora.com
How it works
Gambit introduces faults called mutants into selected contracts and measures whether a test suite detects them.Read 7 Oct 2026 · certora.com
Installation
Prebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source.Read 7 Oct 2026 · github.com
Mutant detection
Gambit measures how well a test suite detects generated mutants, with more detected mutants indicating a stronger suite.Read 7 Oct 2026 · certora.com
Mutant generation
Gambit applies predefined syntax transformations to Solidity source code to generate program variants called mutants.Read 7 Oct 2026 · github.com
Mutation generation
Gambit traverses a Solidity program’s abstract syntax tree to identify valid mutation points and generate variable mutants.Read 7 Oct 2026 · certora.com
Mutation limits
The README lists function-call mutation and swap-arguments-function mutation as disabled operators.Read 7 Oct 2026 · github.com
Mutation points
Gambit traverses a Solidity program's abstract syntax tree to identify valid mutation points.Read 7 Oct 2026 · certora.com
Mutation selection
Users can customize and localize mutations to specific program parts using a declarative configuration language.Read 7 Oct 2026 · certora.com
Other tools
The maker describes Gambit as usable with Solidity testing and verification tools generally, and with any Solidity project.Read 7 Oct 2026 · certora.com
Prover integration
Gambit is integrated with Certora Prover for evaluating the strength of verification rules.Read 7 Oct 2026 · certora.com
Prover workflow
Using the mutation verifier generates mutants and submits a verification job for each mutant to Certora's server.Read 7 Oct 2026 · docs.certora.com
Results
The Gambit dashboard summarizes mutant verification results and computes a score to evaluate a specification.Read 7 Oct 2026 · certora.com
Targeted mutations
Users can customize and localize mutants to specific program parts with a declarative configuration language.Read 7 Oct 2026 · certora.com
Testing and specifications
Generated mutants can be used to evaluate test suites and formal verification specifications.Read 7 Oct 2026 · github.com

Strong points and limits

Strong points

  • Evaluates test suites and formal specifications.
  • Users can target mutations to specific program parts.
  • Dashboard summarizes results and computes a specification score.
  • Provides `mutate` and `summary` commands.
  • MIT-licensed and free.

Limits

  • Requires a compatible `solc` binary.
  • Windows and Linux ARM users must build from source.
  • Function-call and swap-arguments-function operators are disabled.

Who it suits

Gambit suits developers working on Solidity projects who want to assess tests or formal specifications by checking whether they catch generated mutants. It can also be used with the Certora Prover to evaluate verification rules.

Verdict

Gambit provides configurable mutation testing for Solidity and can assess both tests and formal verification specifications. Check compiler compatibility and platform build requirements, and note that two listed mutation operators are disabled.

Where Specifiction places it

Alternatives to GambitAll alternatives →