Byteman supports injection of side effects into Java programs for the
purpose of tracing and testing application behaviour.
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
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
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
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).
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.