Skip to content
SPECIFICTION
Get listed

LittleDarwin vs pymute

LittleDarwin

aliparsai.github.io

pymute

github.com

Side by side

FigureLittleDarwinpymute
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Plans published11
Spec score · Mutation Testing Tools8.3 (#4)7.7 (#9)
DistributionThe project README instructs users to install the package with `pip3 install littledarwin`.The README says to install pymute using Cargo from crates.io or directly from GitHub, and requires Rust and Cargo.
InstallationThe documentation says to install LittleDarwin with pip and run it as a Python module.The README says to install pymute with Cargo from crates.io or directly from GitHub, and requires Rust and Cargo.
LicenseThe project is free software under the GNU General Public License, version 3 or later.The repository identifies its license as Unlicense.
PurposeLittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.Pymute is a mutation testing tool for Python and Pytest written in Rust.

Plans

LittleDarwin

  • Free and open-sourceFree

LittleDarwin pricing →

pymute

  • Free/open-sourceFree

pymute pricing →

In their own words

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.

Visit aliparsai.github.io

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