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: http://www.cs.kent.ac.uk/pubs/2003/1921 |
Abstract
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: | 05 Nov 2024 09:47 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/13943 (The current URI for this page, for reference purposes) |
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):