Website Building
Java (Sun) & Java Applets
Current Highlights
Follow us on Facebook


Byteman is a tool which simplifies tracing and testing of Java programs. Byteman allows you to insert extra Java code into your application, either as it is loaded during JVM startup or even after it has already started running. The injected code is allowed to access any of your data and call any application methods, including where they are private. You can inject code almost anywhere you want and there is no need to prepare the original source code in advance nor do you have to recompile, repackage or redeploy your application. In fact you can remove injected code and reinstall different code while the application continues to execute. The simplest use of Byteman is to install code which traces what your application is doing. This can be used for monitoring or debugging live deployments as well as for instrumenting code under test so that you can be sure it has operated correctly. By injecting code at very specific locations you can avoid the overheads which often arise when you switch on debug or product trace. Also, you decide what to trace when you run your application rather than when you write it so you don`t need 100% hindsight to be able to obtain the information you need. When testing your application you can use Byteman to inject faults or synchronization code, causing your application to perform unusual or unexpected operations required to exercise a test scenario. Byteman provides a library of built-in functions which allow you to do anything from generating simple error conditions to propagating complex error flows which require coordinated actions in different parts of your application. However, you are not limited to these operations. You can inject almost any Java code into your application so long as the classes you refer to are in scope at the injection point. You can also replace or extend the available built-in functions by supplying a POJO (plain old java object) as a plugin. So, Byteman makes it easy for you to program even the most complex test scenarios. Byteman works by modifying the bytecode of your application classes at runtime. Since it only needs access to bytecode this means it can modify library code whose source is either unavailable or unable to be recompiled. This even includes the Java code which forms part of the Java virtual machine, classes such as String, Thread etc. So, with Byteman you can trace what the JVM is doing on behalf of your application code or cause JVM classes like FileInputStream or Map to throw exceptions when your application calls them. Byteman uses a clear, simple scripting language, based on a formalism called Event Condition Action (ECA) rules to specify where, when and how the original Java code should be transformed. An event specifies a trigger point, a location where you want code to be injected. When execution reaches the trigger point the rule`s condition, a Java boolean expression, is evaluated. The Java expression (or sequence of expressions) in the rule action is executed only when the condition evaluates to true. Normally execution continues from the trigger point once the inejcted code has been executed. However, rule actions may also throw an exception or force an early return from the triggering method.

User's rating:

  • Currently 3.67/5
  • 1
  • 2
  • 3
  • 4
  • 5
Enlarge the screenshot of Byteman
[ Enlarge Image ]
Download 2.4MB Byteman

Download Direct

(2.4MB, Extension: ZIP)

Download alternate to Byteman solution

Look at the free or trial alternatives and similar apps to Byteman software by the tags. It's possible also to find substitutes for the most popular titles in the Website Building category.

| Tracing Of Java Programs | Testing Of Java Programs | Jboss Community |

History updates (Complete changelogs since the listing on this site) [09-30-14]

** Feature Request * [ BYTEMAN-266 ] Allow dumping of transformed bytecode to be configured from BMUnitConfig annotation ** Bug * [ BYTEMAN-267 ] BMUnit Listener is being invoked for all tests in test suite * [ BYTEMAN-269 ] BMUnit cannot mix tests derived from BMNGListener and BMNGRunner

Average review rating :

Useful independent reviews and opinions of the users

Review BytemanWrite a review « Be the first to post a review for Byteman download!

Predicted future versions and notices:

The constantly monitors the update of all programs, including information from the Byteman changelog file, however sometimes it can happen that data are not complete or are outdated.We assume that author continue's to develop version with further advanced features, and soon you will be informed. Equally important upgrades of the program we will continue to monitor. Full Byteman description has been compared with the overall software database and our algorithm has found the following applications (are showed below).