An extension of muJava : A Mutation Testing Tool for Java
How to use it
java -cp <paths to jar files inside lib folder>:<mujava++.jar path>:<proyect's bin path>:[<tests bin path>] mujava.app.Main [ARGS]
where ARGS can be one of the following:
-p[roperties] : to give a specific .properties file to mujava++
-o[perators] : prints all mutation operators information
-h[elp] : prints mujava++ help
- JUnit is not included, you should have installed in your system
Suggested VM Arguments
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
IMPORTANT
For the best performance please use -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
as VM arguments and run muJava++ using java 8. A Java 8 VM improves memory usage since permGen is now a part of the heap, getting more allowed memory and can be garbage collected.
Usage example
- Create a folder (in this case we will use mjexample)
- Download mujava.jar inside mjexample
- Download and extract lib.tar.gz inside mjexample
- Download and extract properties.rar inside mjexample
- Download and extract test.rar
You should end with the following folder structure
- mjexample
- mujava.jar
- lib/
- test/
- properties/
Inside test folder you should have
- utils
- BooleanOps.java
- mutationScore
- BooleanOpsXorTests.java
- BooleanOpsXnorTests.java
- BooleanOpsOrTests.java
- BooleanOpsAndTests.java
Go to the test folder and run javac utils/*.java and javac -cp mutationScore/*.java
Now from the folder mjexample you can run
java -cp mujava.jar:<paths to each jar inside lib/*>:<path to junit.jar>:test/ mujava.app.Main [ARGS]>
where ARGS can be one of the following:
-p[roperties] : to give a specific .properties file to mujava++
-o[perators] : prints all mutation operators information
-h[elp] : prints mujava++ help
* : except from javadoc jars
For further information visit the wiki.