The Java system dependence graph

N. Walkinshaw, M. Roper, M. Wood

Research output: Contribution to conferencePaperpeer-review

43 Citations (Scopus)
25 Downloads (Pure)


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.
Original languageEnglish
Number of pages9
Publication statusPublished - 26 Sep 2003
EventProceedings of Source Code Analysis and Manipulation (SCAM'03) - Amsterdam, The Netherlands
Duration: 26 Sep 200327 Sep 2003


ConferenceProceedings of Source Code Analysis and Manipulation (SCAM'03)
CityAmsterdam, The Netherlands


  • program dependence graph
  • Java
  • data flow graphs
  • program slicing
  • object oriented programming
  • software metrics


Dive into the research topics of 'The Java system dependence graph'. Together they form a unique fingerprint.

Cite this