Issue No. 09 - September (2006 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2006.93
Mariana Sharp , IEEE Computer Society
Atanas Rountev , IEEE Computer Society
Distributed applications provide numerous advantages related to software performance, reliability, interoperability, and extensibility. This paper focuses on distributed Java programs built with the help of the Remote Method Invocation (RMI) mechanism. We consider points-to analysis for such applications. Points-to analysis determines the objects pointed to by a reference variable or a reference object field. Such information plays a fundamental role as a prerequisite for many other static analyses. We present the first theoretical definition of points-to analysis for RMI-based Java applications, and we present an algorithm for implementing a flow- and context-insensitive points-to analysis for such applications. We also discuss the use of points-to information for computing call graph information, for understanding data dependencies due to remote memory locations, and for identifying opportunities for improving the performance of object serialization at remote calls. The work described in this paper solves one key problem for static analysis of RMI programs and provides a starting point for future work on improving the understanding, testing, verification, and performance of RMI-based software.
RMI, object-oriented software, distributed software, program analysis, points-to analysis, reference analysis, class analysis, call graph construction, side-effect analysis.
M. Sharp and A. Rountev, "Static Analysis of Object References in RMI-Based Java Software," in IEEE Transactions on Software Engineering, vol. 32, no. , pp. 664-681, 2006.