Instructions to download and run UniFi:

Download this zip file.

To run UniFi over a large number of code versions in a source code repository, see the run_unifi.pl script and modify the setup according to your needs.

To run UniFi manually, follow these steps:

1. Set up your classpath as you would to run your application; then prepend unifi.jar and bcel-5.2.jar to your classpath.
2. To infer dimensions on program P1, run
java -Dunifi.write=P1.units unifi.drivers.Analyze <program1 class or jar file>
3. Optionally, view the results of the inference on P1 with:
java unifi.drivers.Show P1.units
4. Run a different program P2:
java -Dunifi.write=P2.units unifi.drivers.Analyze <program2 class or jar file>
5. java unifi.drivers.Diff p1.units p2.units
(Note: the diff is meaningful only if P1 and P2 share some common code: for example, if P1 and P2 are different builds of the same program).

If you have trouble with any of these steps, please email me.

Source code, documentation and other scripts to help you integrate UniFi into the software development process will be available shortly. Please email me if you want early access to preview versions.