saiema / MuJava

An improved version of muJava, a mutation tool for Java
6 stars 1 forks source link

muJava++

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

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

You should end with the following folder structure

Inside test folder you should have

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.