Byteman README -------------- Byteman supports injection of side effects into Java programs for the purpose of tracing and testing application behaviour. Installation ------------ When you unzip the downloaded release it will explode to a single target install directory containing everything you need to use byteman. You should set environment variable BYTEMAN_HOME so that it points to this target install directory. The install directory for the binary release contains the following subdirectories bin -- contains Unix scripts to simplify: using Byteman (bmjava.sh); typechecking Byteman rule scripts (bytemancheck.sh); communicating with the Byteman agent listener (bmsubmit.sh); and installing the agent into a running JVM (bminstall.sh). You will need to change the permissions of these files in order to execute them directly from the command line. docs -- contains the Byteman Programmer's guide and license information for Byteman plus the third-party software it uses lib -- contains the Byteman agent and rule engine (byteman.jar); the subset of this code needed to compile/run the submit client (byteman-submit.jar); the subset of this code needed to compile/run the install client (byteman-install.jar). sample/scripts -- contains example rule scripts showing how to use Byteman sample/lib -- contains helper code for the sample scripts contrib -- contains software contributed by other Byteman users see the README in each contrib subdirectory for details of how to use the package The install directory for the full source release contains all the above directories plus the following extra directories sources -- contains source code jars for each of the component jars in lib, sample/lib, contrib/dtest and contrib/bmunit javadoc -- contains javadoc format documentation jars for each of the component jars in lib, sample/lib, contrib/dtest and contrib/bmunit Using Byteman ------------- Access to the Byteman project downloads, documentation, user and developer forums and source code is available from the project home page at http://www.jboss.org/byteman Please consult the Programmer's Guide for details of how Byteman operates, how to write Byteman rule scripts and how to run a Java program with the Byteman agent in place. Take a look at the sample scripts directory to see some examples of how you can use Byteman to trace application and JVM execution or to gather and present statistics detailing the operation of JVM or application code. (n.b. these examples still need extending to show how to use Byteman for fault injection based testing). Copyright --------- See the copyright file in the docs directory for details of the open source license under which this code is released. Note that this code employs the ObjectWeb ASM package to do bytecode manipulation and the JFlex and JavaCUP tokeniser and parser generators to generate and provide runtime support for the rule parser which are also released under open source licenses.