MuJava vs mutmut
MuJava
albany.edumutmut
mutmut.readthedocs.ioSide by side
| Figure | MuJava | mutmut |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Mutation Testing Tools | 8.4 (#3) | 7.2 (#16) |
| Interface | The documented workflow uses Java GUI applications to generate and run mutants. | It provides an interactive terminal based interface for browsing mutants. |
| License | The project was released as open source under the Apache license in April 2015. | The package is distributed under the BSD-3-Clause license. |
| Purpose | MuJava automatically generates mutants for Java programs for traditional method-level and class-level mutation testing. | mutmut is a mutation testing system for Python focused on ease of use. |
Plans
In their own words
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.
mutmut
mutmut is a free, open-source mutation testing system for Python. It makes small code changes called mutants so developers can check whether tests detect them. Its listed operators increment integer literals by one, change < to <=, and swap break and continue. The project supports pytest and remembers completed work for incremental runs, selecting tests to run for each mutant. An interactive terminal interface lets users browse mutants, write one to disk, and rerun individual cases after adding tests. Runs are described as parallel; configured coverage.py can restrict mutations to covered lines. The documentation also supports filtering with mypy or pyrefly, but not pyright or ty. For CI/CD, mutmut can export statistics and generate mutation-score badge JSON for a Shields endpoint. Configuration in setup.cfg or pyproject.toml can specify source paths and pytest selection arguments. It requires Python 3.10 or later and a system with fork support, so Windows users need WSL. Version 3 and later mutate code inside functions; version 2 uses a different model for code outside functions. The package is licensed under BSD-3-Clause.