Cosmic Ray vs LittleDarwin
Cosmic Ray
cosmic-ray.readthedocs.ioLittleDarwin
aliparsai.github.ioSide by side
| Figure | Cosmic Ray | LittleDarwin |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 0 | 1 |
| Spec score · Mutation Testing Tools | 7.5 (#13) | 8.3 (#4) |
| Install | The tutorial says to install Cosmic Ray with `pip install cosmic-ray`. | The usage guide says to install LittleDarwin with `pip install littledarwin` and run it as a Python module. |
| License | The project repository identifies the software as MIT licensed. | The project is free software under the GNU General Public License, version 3 or later. |
| Purpose | Cosmic Ray is a mutation testing tool for Python 3 that makes small changes to production code and runs the test suite against each change. | LittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them. |
| Reports | Cosmic Ray provides `cr-report` for session summaries and `cr-html` for generating an HTML report that shows the mutation used. | A full analysis generates a report in the `LittleDarwinResults` directory. |
Plans
In their own words
Cosmic Ray
Cosmic Ray has no write-up on Specifiction yet; its figures are above.
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.