Skip to content
SPECIFICTION
Get listed

LittleDarwin vs Mutatest

LittleDarwin

aliparsai.github.io

Mutatest

mutatest.readthedocs.io

Side by side

FigureLittleDarwinMutatest
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Mutation Testing Tools8.3 (#4)8.7 (#1)
Mutation operatorsThe command-line options include null-check and method-level mutation operators, as well as an option to use all operators.Supported operators include arithmetic, bitwise, Boolean, comparison, membership, identity, conditional and index mutations.
PurposeLittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.Mutatest is a diagnostic command-line tool for assessing test coverage by checking whether tests detect small code mutations.
SupportThe maker invites users to email the author with feedback or suggestions.The project directs users to its GitHub issue tracker to submit bugs or request features.

Plans

LittleDarwin

  • Free and open-sourceFree

LittleDarwin pricing →

Mutatest

  • MutatestFree

Mutatest 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

Mutatest

Mutatest is a free command-line tool for Python projects that checks whether tests catch small changes to code. It creates valid mutations from Python’s Abstract Syntax Tree grammar and applies them to local __pycache__ files rather than changing source files. If coverage data is available, it can limit targets to lines marked as covered. Mutations are sampled randomly, with a seed available to make runs reproducible. Command-line controls include run modes, mutation categories, file exclusions, timeouts, reports, and thresholds for surviving mutants; an API supports custom controls. The documentation describes using test commands such as pytest and coverage data to filter targets. Mutatest can raise an exception when surviving mutants meet a configured threshold, including in automated runs such as CI. It supports Linux, macOS, and Windows, and is free under the MIT License. Installation requires Python 3.7 or 3.8; multiprocessing is available on 3.8, but not 3.7. Repeated test runs can be slow, so it is intended for diagnostics rather than every commit across an entire codebase.

Visit mutatest.readthedocs.io