School of Computing

A high-level view of Java applications

Eric Bodden

In OOPSLA'03 ACM SIGPLAN Conference on Object-Oriented Systems, Languages and Applications (Companion), pages 182-196, Anaheim, CA, October 2003. ACM Press. Finalist in the ACM SIGPLAN Student Research Competition, 2003.


Static analysis of object-oriented applications has become widespread over the last decade, mainly in the context of compile-time optimizations. The paper describes how static analysis of virtual method calls can be employed to provide a high-level view of Java applications. The result is a method call graph that can be built from either source or bytecode, and a graphical browser that enables the user to analyze control flow and the coupling between classes and packages in an intuitive fashion, thereby supporting application design as well as refactoring and debugging. In order to achieve the necessary bijection between source and bytecode representations of classes, we implement a new approach based on source code pre-processing.

Download publication 60 kbytes (PDF)

Bibtex Record

author = {Eric Bodden},
title = {A High-level View of {J}ava Applications},
month = {October},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {Finalist in the {ACM} {SIGPLAN} {S}tudent {R}esearch {C}ompetition, 2003.},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {25277_1085666248},
    ISBN = {1-58113-751-6},
    booktitle = {OOPSLA'03 ACM SIGPLAN Conference on Object-Oriented Systems, Languages and Applications (Companion)},
    address = {Anaheim, CA},
    publisher = {ACM Press.},
    refereed = {yes},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014