LittleDarwin vs MuJava
LittleDarwin
aliparsai.github.ioMuJava
albany.eduSide by side
| Figure | LittleDarwin | MuJava |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Mutation Testing Tools | 8.3 (#4) | 8.4 (#3) |
| Installation | The documentation says to install LittleDarwin with pip and run it as a Python module. | The documented setup uses two JAR files and a configuration file, and requires configuring Java CLASSPATH and PATH. |
| License | The project is free software under the GNU General Public License, version 3 or later. | The project was released as open source under the Apache license in April 2015. |
| Mutation operators | The command-line options include null-check and method-level mutation operators, as well as an option to use all operators. | It creates object-oriented mutants using 24 class-level operators and also supports method-level operators. |
| Purpose | LittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them. | MuJava automatically generates mutants for Java programs for traditional method-level and class-level mutation testing. |
| Support | The maker invites users to email the author with feedback or suggestions. | The maintainers offer MuJava as-is and do not guarantee question answering, fault fixing, or improvements. |
Plans
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.
MuJava
MuJava is a free, open-source tool for mutation testing of Java programs. It generates mutants for individual classes and packages, using 24 class-level operators as well as method-level operators, then runs tests against those mutants and evaluates mutation coverage. Tests must be JUnit test cases with public test classes and methods that call the classes under test; JUnit test suites are not supported. Equivalent mutants require manual identification, and the documentation says they typically make up 5% to 20% of mutants. Version 4 supports Java 1.6 language features, including generics, annotations, enumerations, varargs, enhanced for-each loops and static imports. Setup uses two JAR files and a configuration file, with Java CLASSPATH and PATH configuration. The documented workflow uses Java GUI applications; a command-line interface called muScript was released in March 2014, and an Eclipse plugin was created in 2007. The project is provided as-is, without guarantees of answers, repairs or improvements. It is available for Linux, macOS and Windows.