Software Practice and Experience · 2004 · 46 citations · 15 references
EngineeringEmbedded SystemsHardware SystemsSoftware AnalysisSystems EngineeringParallel ComputingCompilersPortable Record/replay EnvironmentConcurrent ProgrammingComputer EngineeringComputer ScienceSynchronization OperationsPortable Record/replay SystemRuntime SystemOperating SystemsProgram AnalysisParallel ProgrammingReal-time SystemsFree Java ApplicationsAsynchronous SystemsSystem SoftwareVirtual Machine
Abstract 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.
15
Jong-Deok Choi, Manish Gupta, Maurício Serrano et al. · 1999 · 499 citations · Full text
Compositional pointer and escape analysis for Java programs
John Whaley, Martin Rinard · 1999 · 438 citations