A Debugging Platform for Java Server Applications

Development of multithreaded server applications is particularly tricky because of their nondeterministic execution behavior, availability requirements, and extended running times. New tools are needed to help programmers understand server behavior. DejaVu supports deterministic replay of nondeterministic, multithreaded Java programs running on the Jalapeno virtual machine on uniprocessors. Jalapeno is written in Java, and its optimizing compiler combines application,
virtual machine, and DejaVu instrumentation code into unified machine-code sequences. Such integration boosts performance, but it also compounds the difficulty of replaying nondeterministic behavior accurately and with minimal interference from the instrumentation. DejaVu ensures deterministic replay through symmetric instrumentation side-effect-preserving instrumentation in both record and replay modest and remote reflection, which exposes the state of an application without perturbing it.

By: Bowen Alpern, Jong-Deok Choi, Ton Ngo, Manu Sridharan, John Vlissides, Hyun-Gyoo Yook

Published in: RC22133 in 2001

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RC22133.pdf

Questions about this service can be mailed to reports@us.ibm.com .