Directories:
------------
bench -- all benchmarks included in paper
bin -- compiled code
src -- source code
lib -- libraries: soot-develop.jar and rt.jar

IMPORTANT: included rt.jar is from jdk1.7.0_75 for MacOS. YOU DO NEED a Java 7 rt.jar to run our code. If you are running on MacOS or Linux with Java 8 (and likely on Windows), you should be able to run the artifact AS IS, using provided rt.jar: just ./run-tests. 

If for some reason it does not work, recompile as instructed below. If it still does not work, try downloading Java 7.0_75 for your system from the Oracle website:
 
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

Locate the file at jre/lib/rt.jar.

Instructions:
-------------
In directory "soot-reim-definite" type ./run-tests

run-tests is a Perl script to run the artifact. It is pretty simple (my scripting prowess is limited).

You can run all benchmarks, or you can run one by one. E.g., to run "antlr" from Dacapo uncomment this line in run-tests: 

"-app -dynamic-package antlr. -include java -allow-phantom-refs -f J -cp ../bench/antlr.jar:../lib/rt.jar dacapo.antlr.Main2",
IMPORTANT: If you are running on Windows, you may need to change all path separators to ";" from ":"!

Results on antlr should show like this (as reported in Table 1 in paper):

INFO: 15751 READONLY, 1029 POLYREAD, 12552 MUTABLE.
INFO: readonly/all: 0.515885
INFO: mutable/all: 0.41110966
INFO: 1198 MAYBEMUTABLE.
INFO: 2 POLYORMAYBE. 
INFO: MUTABLE/(MUTABLE+MAYBE+POLYORMAYBE): 0.91274
INFO: Finished solving Rem constraints. 28 error(s)
INFO: Total running time: 56.945 sec

Soot creates a directory "sootOutput" in "soot-reim-definite/bin" and writes into it.

Miscellaneous: 
--------------
Table 2 will be taken out per reviewer suggestion. This artifact reproduces only Table 1.

To compile from source, if needed, go into directory soot-reim-definite/src/ then: 

javac -classpath .:../lib/soot-develop.jar edu/rpi/dim/SootDefiniteImmutability.java -d ../bin

All running times in the paper are on a MacBook Pro runing OS X, 2.8 GHz Intel Core i7, 16GB RAM. I have compiled and run on Mac OS and Linux with Java 8 and Java 7 and there are no issues.

I am sorry, I have never set up a VM and the time between notification and Artifact Evaluation was too short for me. 

Thanks everyone!

Ana Milanova