Skip to main content

JAnalyzer, A Visual Static Analyzer for Java

Bodden, Eric (2003) JAnalyzer, A Visual Static Analyzer for Java. Technical report. University of Kent, Kent, UK (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided) (KAR id:13943)

The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided.
Official URL:


Object-oriented (OO) programming has well-known benefits, producing reusable, modular, well-structured code. Nevertheless, program development is still hard, especially for large programs that consist of thousands of interacting objects. Faults in one method can propagate to others defined in different classes or even different packages.

The programmer would benefit from a high-level, intuitive, graphical view of these method dependencies. Such a view would aid refactoring by revealing the degree of coupling between different parts of the program as well as save debugging time by allowing design faults to be visualized at implementation time in a straightforward way. Our research concentrated on Java due to its increasing popularity and platform independence.

In contrast to classic imperative programming paradigms, the development of such a view is a non-trivial task for OO languages, because methods are typically invoked through dynamic dispatch . the type of the object on which the method will actually be invoked is not known at compile time. Such polymorphism has the benefit to the programmer of reusable code, but means that the relationship between caller and callee is 1:many rather than 1:1. A type analysis for Java is therefore required to synthesise a set of possible types for each object identifier in the program. Inferring these sets is a complex task, which we explain further below. Our research concentrated on Java due to its platform independence and increasing popularity.

Our standalone tool, JAnalyzer, aids program development by:

construction of call-graphs by state of the art analyses

visual representation of inter-dependencies between methods, thus aiding refactoring

comprehensible and responsive views of even very large call-graphs

Item Type: Reports and Papers (Technical report)
Additional information: Technical Report 14-03 Submitted to the SET Awards, 2003.
Uncontrolled keywords: Java, JAnalyzer, Static analysis
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:00 UTC
Last Modified: 16 Nov 2021 09:52 UTC
Resource URI: (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.