Byteman release 1.2.0 has now been released and is available from the project downloads page http://www.jboss.org/byteman/downloads.
This release is primarily a feature upgrade extending the Byteman rule language to support two new types of rules:
interface rules
-- rule code is injected through an interface into all classes which implement the interface
overriding rules
-- rule code is injected down class hierarchies into a both the target class's method and into the methods of subclasses which provides an overriding implementation
These two new modes of injection may be used in isolation but they also work in combination . For example, the following rule adds trace code to the run method of every implementor of Runnable and to every overriding implementation, effectively tracing every run() operation in the JVM.
RULE trace any Runnable.run() call INTERFACE ^java.lang.Runnable METHOD run() IF TRUE DO System.out.println("Running runnable " + $0 + " " + $0.getClass().getName()) ENDRULE