Skip to content
SPECIFICTION
Get listed

LittleDarwin vs PIT

LittleDarwin

aliparsai.github.io

PIT

pitest.org

Side by side

FigureLittleDarwinPIT
Price fromFree—
Free planYes—
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hosted—Yes
Plans published10
Spec score · Mutation Testing Tools8.3 (#4)7.0 (#20)
DistributionThe project README instructs users to install the package with `pip3 install littledarwin`.PIT releases are available through GitHub and its binaries are available on Maven Central.
Mutation operatorsThe command-line options include null-check and method-level mutation operators, as well as an option to use all operators.PIT applies configurable bytecode mutations, including removing method calls, inverting logic, and altering return values.
PurposeLittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.PIT runs unit tests against automatically modified versions of application code to measure whether tests detect faults.
ReportsA full analysis generates a report in the `LittleDarwinResults` directory.PIT produces reports combining line coverage and mutation coverage information.
SupportThe maker invites users to email the author with feedback or suggestions.PIT directs users to its Google Group for support questions.

Plans

LittleDarwin

  • Free and open-sourceFree

LittleDarwin pricing →

PIT

No plans published.

PIT 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

PIT

PIT is a free mutation-testing tool for Java and JVM bytecode projects. It measures whether unit tests detect faults by running them against modified versions of application code. Configurable bytecode mutations can remove method calls, invert logic, or change return values. PIT selects and prioritizes tests using line coverage, execution speed, and naming conventions, then reports mutation coverage alongside line coverage. It can run from the command line, Ant, or Maven; third-party integrations are listed for Gradle, Eclipse, and IntelliJ. Java is supported directly, and Kotlin use is available through the ArcMutate plugin. PIT supports JUnit 3, JUnit 4, and TestNG; JUnit 5 needs a plugin. Versions 1.4.0 and later require Java 8 or above and JUnit or TestNG on the classpath. Mutation runs can take a long time depending on codebase size and test-suite speed, so PIT recommends focusing on changed code. It mutates bytecode and requires line numbers and source file names in that bytecode.

Visit pitest.org