Title :
Static Analysis of Object References in RMI-Based Java Software
Author :
Sharp, Mariana ; Rountev, Atanas
Author_Institution :
Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH
Abstract :
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 corrupting 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
Keywords :
Java; application program interfaces; object-oriented programming; program diagnostics; remote procedure calls; RMI; call graph information; data dependency; distributed Java program; object reference; object serialization; object-oriented software; points-to analysis; remote memory location; remote method invocation; static program analysis; Algorithm design and analysis; Application software; Computer Society; Information analysis; Java; Middleware; Optimization; Performance analysis; Software performance; Software testing; RMI; call graph construction; class analysis; distributed software; object-oriented software; points-to analysis; program analysis; reference analysis; side-effect analysis.;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2006.93