Skip to content
SPECIFICTION
Get listed

MuJava

albany.edu

Free plan WindowsmacOSLinux
Visit albany.edu
Spec score 8.4 #3 of 25 in Mutation Testing Tools

What it is

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.

Spec sheet

Purpose
MuJava automatically generates mutants for Java programs for traditional method-level and class-level mutation testing.Read 8 Oct 2026 · albany.edu
Intended users
The maker describes MuJava as a service to the community and says it has been used by students and researchers.Read 8 Oct 2026 · albany.edu
Platforms
The download instructions say MuJava can run on Unix, Linux, and Windows, and provide Mac setup instructions.Read 8 Oct 2026 · albany.edu
Support
The maintainers offer MuJava as-is and do not guarantee question answering, fault fixing, or improvements.Read 8 Oct 2026 · albany.edu
License
The project was released as open source under the Apache license in April 2015.Read 8 Oct 2026 · albany.edu
Founded
2003Read 28 Sep 2026 · albany.edu
CLI
A command-line interface called muScript was released in March 2014.Read 8 Oct 2026 · albany.edu
Command line
A command line interface called muScript was released in March 2014.Read 8 Oct 2026 · albany.edu
Coverage
After generating mutants, µJava runs tests and evaluates their mutation coverage.Read 8 Oct 2026 · albany.edu
Eclipse
The maker page says an Eclipse plugin version was created by Laurie Williams and Ben Smith of NC State in 2007.Read 8 Oct 2026 · albany.edu
Equivalent mutants
Equivalent mutants must be identified by hand, and the documentation says 5% to 20% of mutants are typically equivalent.Read 8 Oct 2026 · albany.edu
Installation
The documented setup uses two JAR files and a configuration file, and requires configuring Java CLASSPATH and PATH.Read 8 Oct 2026 · albany.edu
Interface
The documented workflow uses Java GUI applications to generate and run mutants.Read 8 Oct 2026 · albany.edu
Java compatibility
Version 4 supports JUnit tests and Java 1.6 language features, including generics, annotations, enumerations, varargs, enhanced for-each loops, and static imports.Read 8 Oct 2026 · albany.edu
Language support
Version 4 supports Java 1.6 language features including generics, annotations, enumerations, varargs, enhanced for-each loops, and static imports.Read 8 Oct 2026 · albany.edu
Mutation operators
It creates object-oriented mutants using 24 class-level operators and also supports method-level operators.Read 8 Oct 2026 · albany.edu
Test evaluation
MuJava runs tests against generated mutants and evaluates mutation coverage.Read 8 Oct 2026 · albany.edu
Test framework
Tests are provided as JUnit test classes containing methods that call the class under test; JUnit test suites are not supported.Read 8 Oct 2026 · albany.edu
Test integration
Tests are written as JUnit test cases containing sequences of method calls to the classes under test.Read 8 Oct 2026 · albany.edu
Test limitation
JUnit test suites are not supported; test sets must be JUnit test cases with public test classes and methods.Read 8 Oct 2026 · albany.edu
Test scope
It can test individual Java classes and packages containing multiple classes.Read 8 Oct 2026 · albany.edu

Plans and prices

µJava Free Open source under Apache license · provided as-is Read 8 Oct 2026 · albany.edu

Every MuJava plan and price →

Strong points and limits

Strong points

  • Free and open source under the Apache license.
  • Generates method-level and 24 class-level mutant types.
  • Evaluates mutation coverage by running tests against mutants.
  • Supports Java 1.6 language features.
  • Available on Linux, macOS and Windows.

Limits

  • JUnit test suites are not supported.
  • Equivalent mutants require manual identification.
  • Setup requires configuring Java CLASSPATH and PATH.
  • Provided as-is without guarantees of fixes or improvements.

Who it suits

MuJava may suit students and researchers working on Java mutation testing with JUnit test cases. Users should be prepared to configure the Java environment and identify equivalent mutants manually.

MuJava in depth

Read the full write-up

MuJava is a Java mutation-testing tool for developers, students, and researchers who want to evaluate tests with generated code changes.

Overview

MuJava generates method-level and class-level mutants for Java programs, then runs JUnit tests against them to evaluate mutation coverage. It can target a single class or a package of multiple classes, making it relevant when the question is whether tests detect altered behavior, not merely whether they pass against the original code.

The project was released in 2003 and describes itself as a community service used by students and researchers. Its focus on object-oriented mutation testing is valuable for Java work, but its narrow test interface and as-is support are poor fits for teams that need dependable maintenance or help resolving issues.

Key features

Mutant generation and coverage

MuJava provides 24 class-level mutation operators as well as method-level operators. That gives Java test authors more than one level at which to examine test effectiveness. The tool runs tests on the generated mutants and reports mutation coverage, but equivalent mutants require manual identification; documentation estimates they typically make up 5% to 20% of mutants. That review burden can be material when interpreting results.

JUnit and Java compatibility

Tests are public JUnit test classes and methods containing calls to the class under test. JUnit test suites are not supported, so projects organized around suites will need to adapt their testing workflow or choose another tool. Version 4 supports Java 1.6 language features such as generics, annotations, enumerations, varargs, enhanced for-each loops, and static imports.

Setup and interfaces

The documented setup requires two JAR files, a configuration file, and Java CLASSPATH and PATH configuration. The workflow uses Java GUI applications to generate and run mutants; a command-line interface, muScript, was released in March 2014. An Eclipse plugin version was created in 2007. These interfaces may suit an established Java workflow, but setup requires some configuration before testing can begin.

Pricing

MuJava is free: the µJava plan costs nothing and is open source under the Apache license. There is no free trial because the project is already free. The trade-off is not a paid tier or seat limit, but the maintainers' as-is terms: they do not guarantee answers to questions, fault fixes, or improvements.

Platforms

MuJava supports Linux, macOS, and Windows. Java is its supported language, and JUnit is its test framework.

Who it's for

MuJava is best suited to Java students, researchers, and developers who can work with individual JUnit test cases and want to measure how tests respond to method-level and class-level changes. It is less suitable for teams that depend on JUnit suites, require sustained maintainer support, or want equivalent-mutant review handled automatically.

Pros and cons

Pros: 24 class-level operators plus method-level mutation support give Java projects a focused way to examine test strength.

Pros: It runs tests against mutants and evaluates mutation coverage for individual classes or multi-class packages.

Pros: The tool is free and open source under the Apache license, and runs on Linux, macOS, and Windows.

Cons: JUnit suites are unsupported; tests must be public test classes and methods.

Cons: Equivalent mutants need manual identification, with documentation estimating 5% to 20% of mutants fall into that category.

Cons: Setup involves JARs, configuration, and environment paths, while maintainer support is not guaranteed.

Alternatives

For a different Java mutation-testing option, consider ArcMutate, which has a free plan and trial and runs on Linux, macOS, Windows, and self-hosted systems; its Base plan is $8 a month. Infection is another free-plan alternative, but its listed platforms are Linux, macOS, and web.

For a free option that supports Windows as well as Linux and macOS, Mutatest is another candidate. Mutant offers a free full-featured plan for public repositories and a commercial monthly plan at $30 a month per developer, so it may suit readers comparing free public use with paid commercial use. Other alternatives include pymute, LittleDarwin, go-mutesting, and mutmut.

Browse the Mutation Testing Tools list for more options.

Verdict

Choose MuJava if you need a free, Java-focused tool with both class-level and method-level mutation testing and can work within its JUnit test-case workflow. Its strongest reason to choose is the object-oriented operator set; look elsewhere if unsupported JUnit suites, manual equivalent-mutant review, or as-is support terms are unacceptable.

Verdict

MuJava covers class-level and method-level mutation testing for Java and reports mutation coverage from JUnit test cases. Its test-suite restriction, manual equivalent-mutant review and as-is support terms are important fit considerations.

Where Specifiction places it

Alternatives to MuJavaAll alternatives →