Picture of a sphere with binary code

Making Strathclyde research discoverable to the world...

The Strathprints institutional repository is a digital archive of University of Strathclyde research outputs. It exposes Strathclyde's world leading Open Access research to many of the world's leading resource discovery tools, and from there onto the screens of researchers around the world.

Explore Strathclyde Open Access research content

The Java system dependence graph

Walkinshaw, N. and Roper, M. and Wood, M. (2003) The Java system dependence graph. In: Proceedings of Source Code Analysis and Manipulation (SCAM'03), 2003-09-26 - 2003-09-27.

[img]
Preview
PDF (strathprints001956.pdf)
strathprints001956.pdf

Download (178kB) | Preview

Abstract

The Program Dependence Graph was introduced by Ottenstein and Ottenstein in 1984 [14]. It was suggested to be a suitable internal program representation for monolithic programs, for the purpose of carrying out certain software engineering operations such as slicing and the computation of program metrics. Since then, Horwitz et al. have introduced the multi-procedural equivalent System Dependence Graph [9]. Many authors have proposed object-oriented dependence graph construction approaches [11, 10, 20, 12]. Every approach provides its own benefits, some of which are language specific. This paper is based on Java and combines the most important benefits from a range of approaches. The result is a Java System Dependence Graph, which summarises the key benefits offered by different approaches and adapts them (if necessary) to the Java language.