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. (https://doi.org/10.1109/SCAM.2003.1238031)

[thumbnail of strathprints001956]
Preview
Text. Filename: strathprints001956.pdf
Download (174kB)| 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.