Premium
JaRec: a portable record/replay environment for multi‐threaded Java applications
Author(s) -
Georges A.,
Christiaens M.,
Ronsse M.,
De Bosschere K.
Publication year - 2004
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.579
Subject(s) - computer science , java , debugging , operating system , java concurrency , strictfp , interface (matter) , java annotation , real time java , exception handling , synchronization (alternating current) , virtual machine , programming language , embedded system , computer network , channel (broadcasting) , bubble , maximum bubble pressure method
This paper describes JaRec, a portable record/replay system for Java. It correctly replays multi‐threaded, data‐race free Java applications, by recording the order of synchronization operations, and by executing them in the same order during replay. The record/replay infrastructure is developed in Java, and does not require a modification of the Java Virtual Machine (JVM) if it provides the JVM Profiler Interface (JVMPI). If the JVM does not support JVMPI, which is used for intercepting the loaded classes, only a minor modification to the JVM is required in order to run the system. On ystems with limited memory resources, JaRec can be executed in a distributed fashion. This also makes it suitable to aid debugging of multi‐threaded applications on embedded systems. Copyright © 2004 John Wiley & Sons, Ltd.