Deterministic replay of Java multithreaded applications
Jong-Deok Choi, Harini Srinivasan
SIGMETRICS Parallel and Distributed Tools 1998
We present practical approximation methods for computing interprocedural aliases and side effects for a program written in a language that includes pointers, reference parameters and recursion. We present the following results: 1) An algorithm for flow-sensitive interprocedural alias analysis which is more precise and efficient than the best interprocedural method known. 2) An extension of traditional flow-insensitive alias analysis which accommodates pointers and provides a framework for a family of algorithms which trade off precision for efficiency. 3) An algorithm which correctly computes side effects in the presence of pointers. Pointers cannot be correctly handled by conventional methods for side effects analysis. 4) An alias naming technique which handles dynamically allocated objects and guarantees the correctness of data-flow analysis. 5) A compact representation based on transitive reduction which does not result in a loss of precision and improves precision in some cases. 6) A method for intraprocedural alias analysis which is based on a sparse representation.
Jong-Deok Choi, Harini Srinivasan
SIGMETRICS Parallel and Distributed Tools 1998
D. Ju, Chuan-Lin Wu, et al.
ICPP 1994
V.C. Sreedhar, M. Burke, et al.
PLDI 2000
Bowen Alpern, Mark Charney, et al.
PACT 1999