Mutation system for Java programs, including OO mutation operators.
Please see muJava's homepage for detail: http://cs.gmu.edu/~offutt/mujava
MuJava-AUM is similar to original MuJava, but with support to Avoid Useless Mutants. Please check https://sites.google.com/view/useless-mutants/
- Compatible only with JDK and JRE 1.8 (Java 8)
- Download latest Jar file released or generate it from sources.
-
Clone MuJava-AUM:
git clone https://github.com/easy-software-ufal/muJava-AUM.git
-
Generate jar:
cd MuJava-AUM
mvn package
Jar files with dependencies and without (.jar
) should be available under target
folder (inside muJava-AUM folder).
- Create a file named mujava.config and add one line in the following fashion, pointing to a subject Java project you desire to mutate. This file should be placed under your current path, where you're executing muJava from (for Linux/MacOS/BSD, see
pwd
output, for Windows, seeecho %cd%
).
- MuJava_HOME=<absolute-path-to-desired-folder>
Example (Linux/MacOS):
MuJava_HOME=/home/exampleuser/Documents/muJava-AUM/examples/session1
Example (Windows):
MuJava_HOME=C:\Users\exampleuser\Documents\muJava-AUM\examples\session1
See more examples on how to provide muJava with muJava-friendly projects as input here.
Notice that if you're on Windows, paths are separated by \ instead of / .
- Compile the source files from examples/session1/src/ directory:
javac examples/session1/src/*.java -d examples/session1/classes/
- Execute muJava:
java -jar muJava.jar
- Notice that if you have generated the Jar file from sources, you should be using the -with-dependencies version, for example
java -jar muJava-0.0.1-SNAPSHOT-jar-with-dependencies.jar
- "Avoiding Useless Mutants" - Leonardo Fernandes, Márcio Ribeiro, Luiz Carvalho, Rohit Gheyi, Melina Mongiovi, André L. Santos, Ana Cavalcanti, Fabiano Ferrari, José Carlos Maldonado (GPCE 2017) [link].
Detailed documentation ... html documentation.