Skip to content
/ MuJava Public
forked from EpsilonX/MuJava

An improved version of muJava, a mutation tool for Java

Notifications You must be signed in to change notification settings

saiema/MuJava

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • 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.

About

An improved version of muJava, a mutation tool for Java

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%