Gambit vs LittleDarwin
Gambit
certora.comLittleDarwin
aliparsai.github.ioSide by side
| Figure | Gambit | LittleDarwin |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Mutation Testing Tools | 7.8 (#8) | 8.3 (#4) |
| Installation | Prebuilt binaries are available for Linux x86-64 and Mac; Windows and Linux ARM users must build from source. | The documentation says to install LittleDarwin with pip and run it as a Python module. |
| License | The Gambit GitHub repository identifies its license as MIT. | The project is free software under the GNU General Public License, version 3 or later. |
| Purpose | Gambit is an open source Solidity mutation testing tool that evaluates and strengthens a testing suite. | LittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them. |
| Results | The Gambit dashboard summarizes mutant verification results and computes a score to evaluate a specification. | The documentation says generated mutants and analysis reports are placed in a LittleDarwinResults directory. |
| Support | Certora's documentation says product questions can be directed to its Help Desk channel on Discord. | The maker invites users to email the author with feedback or suggestions. |
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.
LittleDarwin
LittleDarwin is a Java mutation testing framework written in Python, available for Linux. It generates altered versions, or mutants, of Java source code, then runs a configured build command for each mutant to check whether the test suite detects the change. Its analysis has a mutation phase and a build phase, where each build is checked for success or failure. Users can select null-check or method-level mutation operators, or use all operators. The --higher-order option sets the mutation order, and the guide demonstrates second-order mutants. Project settings include a test project path and test command, build command, working directory, initial build command, cleanup commands, and build timeout. A Maven example runs `mvn clean test` for each mutant. Whitelist filters restrict analysis to selected packages or files, while blacklist filters exclude them. Generated mutants and full-analysis reports go into a LittleDarwinResults directory, and surviving mutants are reported. Installation uses pip, followed by running LittleDarwin as a Python module. The project is free under the GNU General Public License version 3 or later and is supported through donations.