µScript Home Page |
µScript (muScript) is a command line interface to µJava, which is a mutation system for Java programs. Please see the µJava page for general information about µJava.
µScript is intended for experiments with mutation. The normal GUI for µJava is easy to learn and use, but slow for certain types of experiments. This command line interface (CLI) allows direct access to key functionalies of µJava, and includes abilities to generate mutants, execute mutants, and mark mutants as equivalent. The CLI also supports several options that can be useful during experiments, such as running a random percentage of mutants, running individual mutants, and running tests on mutants that have already been killed by other tests. The commands can be embedded in scripts to support mutant execution in flexible ways. µScript uses the same base execution engine as the GUI, so results are entirely consistent.
As with µJava, µScript is provided on an "as is" basis. Although we welcome any and all feedback, we have no funds and very limited resources to provide support or respond to queries.
I. Installation Files
Although installing µScript is not technically difficult or complicated, it will require a little more effort than installing many commercial packages. µScript can run on Unix, Linux, and Windows platforms. You will need to download and deploy two Java "jar" files and a configuration file.
mujava.jar | µJava system library |
openjava.jar | OpenJava library that is adapted for µJava (OpenJava WWW page) |
mujava.config | A file to specifies the µJava system home directory |
You may also need one or more of three other Java jar files if, for example, you do not have JUnit already installed.
junit.jar | JUnit library files |
hamcrest-core-1.3.jar | Needed for JUnit |
commons-io-2.4.jar | Needed to move and compile files |
The jar files should be placed in a directory on disk that all users who need to use µScript can access, for example, in C:\mujava\.
II. User Manual
We have a user manual in PDF. It refers to a small calendar class as an example. The example includes the cal.java (cal.class) class, and three JUnit test filess: calTest.java (calTest.class), calTest2.java (calTest2.class), and calTest3.java (calTest3.class). We verified that this example works with µScript and can thus be used to follow the user manual, and to verify that µScript is installed correctly.Last update: March 2014, Jeff Offutt and Lin Deng