LittleDarwin
LittleDarwin is a Java mutation testing framework written in Python for Linux.
What LittleDarwin is
LittleDarwin is a Java mutation testing framework written in Python for Linux. It changes Java source code to create mutants, then runs a configured build command for each one to check whether the test suite detects the change. Its analysis has a mutation phase followed by a build phase that records whether each build passes or fails. Users can choose null-check or method-level mutation operators, or use all operators. The `--higher-order` option sets mutation order, and the guide demonstrates second-order mutants. Configuration options include a test project path and command, build command, working directory, initial build command, cleanup commands, and a build timeout. A Maven example runs `mvn clean test` for each mutant. Whitelist filters can confine analysis to selected packages or files, while blacklist filters exclude them. Generated mutants and full-analysis reports are placed in a `LittleDarwinResults` directory, and the tool reports surviving mutants. Installation uses pip, followed by running LittleDarwin as a Python module. The project is free software under the GNU General Public License, version 3 or later, and is supported through donations.
Good
- Supports higher-order, null-check, and method-level mutations
- Whitelist and blacklist filters control analysis scope
- Configurable build and test commands
- Reports generated mutants and surviving mutants
Watch out
- Analyzes Java source code
- Requires Python and a configured build command
- Free project is supported through donations
Who it suits
LittleDarwin suits Java developers who want to check whether a test suite detects source-code changes. Its configurable build and test commands can fit projects with specific analysis scopes.
Verdict
LittleDarwin provides configurable mutation analysis for Java projects, including operator selection, scope filters, and build settings. It is designed for complex-system deployments, though setup depends on the project's build and test configuration.
Plans and prices
From LittleDarwin's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free and open-source | Free | Java mutation analysis framework · Supported through donations |
The facts
Each one read from LittleDarwin's own pages, with the date it was checked.
What it does
- Analysis phases
- It has a mutation phase that generates mutants and a build phase that runs a build command for each mutant and checks whether the build passes or fails.checked 8 Oct 2026
- Analysis scope
- A whitelist can restrict analysis to listed packages or files, while a blacklist can exclude listed packages or files.checked 8 Oct 2026
- Build configuration
- Users can provide build and test commands, working directory paths, an initial build command, cleanup commands, and a build timeout.checked 9 Oct 2026
- Build integration
- Users can provide a build command; the documentation gives Maven clean test as an example.checked 8 Oct 2026
- Distribution
- The project README instructs users to install the package with `pip3 install littledarwin`.checked 9 Oct 2026
- Funding
- The maker states that the free and open-source project is supported through donations.checked 8 Oct 2026
- Higher order mutations
- The usage guide demonstrates generating second order mutants with `--higher-order=2`.checked 9 Oct 2026
- Higher-order mutations
- The --higher-order option sets the mutation order, and the documentation demonstrates generating second-order mutants.checked 8 Oct 2026
- Install
- The usage guide says to install LittleDarwin with `pip install littledarwin` and run it as a Python module.checked 9 Oct 2026
- Installation
- The documentation says to install LittleDarwin with pip and run it as a Python module.checked 8 Oct 2026
- Integration
- The guide demonstrates running `mvn clean test` for each mutant in a Maven project.checked 9 Oct 2026
- Intended use
- The maker describes LittleDarwin as designed for deployment in complex systems where other mutation tools may not work.checked 8 Oct 2026
- License
- The project is free software under the GNU General Public License, version 3 or later.checked 9 Oct 2026
- Mutation and build
- It has a mutation phase that generates mutants and a build phase that runs a build command for each mutant and checks whether the build passes or fails.checked 9 Oct 2026
- Mutation operators
- The command-line options include null-check and method-level mutation operators, as well as an option to use all operators.checked 8 Oct 2026
- Mutation options
- The command line supports higher order, null check, method level, and all mutation operators, as well as whitelist and blacklist filters.checked 9 Oct 2026
- Purpose
- LittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.checked 9 Oct 2026
- Reports
- A full analysis generates a report in the `LittleDarwinResults` directory.checked 9 Oct 2026
- Results
- The documentation says generated mutants and analysis reports are placed in a LittleDarwinResults directory.checked 8 Oct 2026
- Runtime
- The project describes itself as a Java mutation testing framework written in Python.checked 9 Oct 2026
- Scope filters
- A whitelist limits analysis to listed packages or files, while a blacklist excludes listed packages or files.checked 9 Oct 2026
- Support
- The maker invites users to email the author with feedback or suggestions.checked 8 Oct 2026
- Test suite integration
- The command-line options let users specify a test project path and a test command.checked 8 Oct 2026
Alternatives to LittleDarwin
- 1
Mutatest
Free planOpen sourceAPILinuxmacOSSelf-hosted7.2Free plan - 2

ArcMutate
Free planLinuxmacOSSelf-hostedWindows6.7From $8 a month - 3
Mutant
Free planLinuxmacOS6.7From $250 a year - 4
MuJava
Free planLinuxmacOSWindows6.3Free plan - 5
pymute
Free planLinux6.3Free plan - 6
go-mutesting
Free planLinuxSelf-hosted6.2Free plan
