LittleDarwin
aliparsai.github.io
What it is
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.
Spec sheet
- Purpose
- LittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.Read 9 Oct 2026 · aliparsai.github.io
- Support
- The maker invites users to email the author with feedback or suggestions.Read 8 Oct 2026 · littledarwin.parsai.net
- License
- The project is free software under the GNU General Public License, version 3 or later.Read 9 Oct 2026 · github.com
- 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.Read 8 Oct 2026 · aliparsai.github.io
- Analysis scope
- A whitelist can restrict analysis to listed packages or files, while a blacklist can exclude listed packages or files.Read 8 Oct 2026 · aliparsai.github.io
- Build configuration
- Users can provide build and test commands, working directory paths, an initial build command, cleanup commands, and a build timeout.Read 9 Oct 2026 · aliparsai.github.io
- Build integration
- Users can provide a build command; the documentation gives Maven clean test as an example.Read 8 Oct 2026 · aliparsai.github.io
- Distribution
- The project README instructs users to install the package with `pip3 install littledarwin`.Read 9 Oct 2026 · github.com
- Funding
- The maker states that the free and open-source project is supported through donations.Read 8 Oct 2026 · littledarwin.parsai.net
- Higher order mutations
- The usage guide demonstrates generating second order mutants with `--higher-order=2`.Read 9 Oct 2026 · aliparsai.github.io
- Install
- The usage guide says to install LittleDarwin with `pip install littledarwin` and run it as a Python module.Read 9 Oct 2026 · aliparsai.github.io
- Installation
- The documentation says to install LittleDarwin with pip and run it as a Python module.Read 8 Oct 2026 · aliparsai.github.io
- Integration
- The guide demonstrates running `mvn clean test` for each mutant in a Maven project.Read 9 Oct 2026 · aliparsai.github.io
- Intended use
- The maker describes LittleDarwin as designed for deployment in complex systems where other mutation tools may not work.Read 8 Oct 2026 · littledarwin.parsai.net
- 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.Read 9 Oct 2026 · aliparsai.github.io
- Mutation operators
- The command-line options include null-check and method-level mutation operators, as well as an option to use all operators.Read 8 Oct 2026 · aliparsai.github.io
- Mutation options
- The command line supports higher order, null check, method level, and all mutation operators, as well as whitelist and blacklist filters.Read 9 Oct 2026 · aliparsai.github.io
- Reports
- A full analysis generates a report in the `LittleDarwinResults` directory.Read 9 Oct 2026 · aliparsai.github.io
- Results
- The documentation says generated mutants and analysis reports are placed in a LittleDarwinResults directory.Read 8 Oct 2026 · aliparsai.github.io
- Runtime
- The project describes itself as a Java mutation testing framework written in Python.Read 9 Oct 2026 · github.com
- Scope filters
- A whitelist limits analysis to listed packages or files, while a blacklist excludes listed packages or files.Read 9 Oct 2026 · aliparsai.github.io
- Test suite integration
- The command-line options let users specify a test project path and a test command.Read 8 Oct 2026 · aliparsai.github.io
Plans and prices
Strong points and limits
Strong points
- Supports configurable mutation operators
- Can generate higher-order mutants
- Build and test commands are configurable
- Whitelist and blacklist filters scope analysis
- Reports include surviving mutants
Limits
- Available platform is Linux
- Analyzes Java source code
- Free project is supported through donations
Who it suits
LittleDarwin suits Java developers who want to check whether a project’s tests detect generated code changes. The maker describes it as intended for deployment in complex systems where other mutation tools may not work.
Verdict
LittleDarwin provides configurable Java mutation analysis, with project filters and build settings that can shape each run. Its Linux platform and Java focus are central fit considerations.
Where Specifiction places it
- Mutation Testing Tools#4 of 258.3