IBM®
Skip to main content
    Israel [change]    Terms of use
 
 
 
    Home    Products    Services & solutions    Support & downloads    My account    
IBM Research

Java Static Analysis

Software Asset Management


Overview


Over the last few years, HRL has developed an infrastructure for static analysis of Java bytecode. The motivation is to support program understanding, code evaluation, testing, reviewing, and re-engineering of Java programs. The infrastructure includes the development of analysis techniques and the production of certain tools that exploit these techniques. The development code base consists of a set of libraries, from CFParse for parsing and editing a single classfile, to JAN for analyzing a whole Java component and focusing on global representations, such as the hierarchy graph, reference graph, and call graph. Other libraries support generic data-flow engines and extraction of effect information. Certain tools/packages were implemented upon this set of libraries, including:

  • Unreachable Code Remover, reduces the size of packages by removing unreachable classes and methods.

  • Toad, an umbrella framework for a set of core libraries and tools that monitor, understand, and optimize Java applications. For more information, see Toad's project page.

  • JAMA, Java Mutability Analyzer, detects immutable fields and classes.

  • Struts Checker, collects information about Java bytecode in Struts-based projects.

  • JavaDoc Enhancer, enhances the JavaDoc documentation with semantic information retrieved by analyzing the corresponding bytecode.


 
 

    About IBMPrivacyContact