Newcastle JBUG March Meeting
NOTE the Change of Venue
Venue - Room 1.7, INEX, Herschell Annex , University of Newcastle upon Tyne
Date and Time 6PM Tuesday 8th March
Introduction to the JBUG
Main Talk - Andrew Dinn - Byteman : Testing and Tracing Made Easy
Byteman is a hands-on bytecode rewriting tool which allows you to inject fragments of arbitrary Java code into a running application without needing to rewrite, recompile or, even, redeploy. Byteman was developed to support fault injection testing, injecting code which breaks your application in a highly specific way and then seeing how it copes. Since the injected code can do pretty much anything it wants to alter application data or control flow it is easy to use Byteman to engineer highly complex test scenarios. For example, you can use the built-in thread management API to rig specific timings in a multi-threaded application.
Byteman has also turned out to be extremely useful as a tracing, debugging and monitoring tool, particularly for live installations. Ad hoc trace code can be injected when a problem manifests and then unloaded later, restoring the original application behaviour. Since this only takes seconds it is easy to iteratively track down the source of failures. Code can be injected into both application and JVM classes so Byteman also makes it simple to collect and display statistics about any events occuring in your application runtime.
This talk will provide examples which show how Byteman can be used to perform all of these tasks. It will explain how to install Byteman into your application, how to load or unload injected code and the various configuration options available when using Byteman.
Andrew Dinn is the Byteman project lead. He has been a member of the JBoss Transactions team for the last 3 years and has also contributed to several other JBoss projects and to the OpenJDK project.
If there is enough interest in the technicalities of Byteman there will be a few practical demonstrations of actual use. If people want to see how Byteman could be used for their own purposes, they can bring a laptop with their own problematic code along. NB there is no network
so we can only load Byteman via memory stick.
Refreshments and General Discussion
Break up about 8:30.