javver is a tool for testing Java virtual machines. It generates large amounts of random (but valid) bytecode that can be used for comparing the VM under test against a reference VM. (Actually javver generates source files that can be assembled to bytecode by jasmin.) Bytecode generated by javver tends to trigger obscure bugs in the VM's code generator that are otherwise hard to find.

javver is used for testing the CACAO JIT compiler, but there is nothing CACAO-specific about it.


javver is a Perl application and depends on the following modules, which are available from CPAN:

These modules may also be available in your OS distribution. In Debian they are called libyaml-perl and liberror-perl.

Note: If you start javver and its lib directory is not in the current directory, you must tell perl where to find it:

perl -I/path/to/javver/lib /path/to/javver [OPTIONS]


javver is configured by a YAML file that contains descriptions of the bytecode instructions and other parameters. The release contains a documented config file javver.conf that should work out of the box.


javver is free software distributed under the GPL.

javver-0.0.1.tar.gz (source)

See the file README in the tarball for more information.

Valid HTML 4.01!