• DocumentCode
    1890565
  • Title

    Improved Static Resolution of Dynamic Class Loading in Java

  • Author

    Sawin, Jason ; Rountev, Atanas

  • Author_Institution
    Ohio State Univ., Columbus
  • fYear
    2007
  • fDate
    Sept. 30 2007-Oct. 1 2007
  • Firstpage
    143
  • Lastpage
    154
  • Abstract
    Modern applications are becoming increasingly more dynamic and flexible. In Java software, one important flexibility mechanism is dynamic class loading. Unfortunately, the vast majority of static analyses for Java handle this feature either unsoundly or overly conservatively. We present a set of techniques for static resolution of dynamic-class-loading sites in Java software. Previous work has used static string analysis to achieve this goal. However, a large number of such sites are impossible to resolve with purely static techniques. We present a novel semi-static approach, which combines static string analysis with dynamically gathered information about the execution environment. The key insight behind this approach is the observation that dynamic class loading often depends on characteristics of the execution environment that are encoded in various environment variables. In addition, we propose generalizations of string analysis to increase the number of sites that can be resolved purely statically, and to track the names of environment variables. We present an experimental evaluation on 10,238 classes from the standard Java libraries. Our results show that a state- of-the-art purely static approach resolves only 28% of non-trivial sites, while our approach resolves more than twice as many sites. This work is a step towards making static analysis tools better equipped to handle the dynamic features of Java.
  • Keywords
    Java; program diagnostics; Java; dynamic class loading; static resolution; static string analysis; Application software; Costs; Failure analysis; Information analysis; Java; Libraries; Manipulator dynamics; Operating systems; Runtime; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2007. SCAM 2007. Seventh IEEE International Working Conference on
  • Conference_Location
    Paris
  • Print_ISBN
    978-0-7695-2880-9
  • Type

    conf

  • DOI
    10.1109/SCAM.2007.24
  • Filename
    4362906