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)

The full text of this publication is not available from this repository. (Contact us about this Publication)
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: Monograph (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: Faculties > Science Technology and Medical Studies > School of Computing > Theoretical Computing Group
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:00
Last Modified: 10 Jun 2009 14:02
Resource URI: https://kar.kent.ac.uk/id/eprint/13943 (The current URI for this page, for reference purposes)
  • Depositors only (login required):