• DocumentCode
    781795
  • 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
  • Volume
    32
  • Issue
    9
  • fYear
    2006
  • Firstpage
    664
  • Lastpage
    681
  • 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.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2006.93
  • Filename
    1707666