Cluster analysis of Java dependency graphs

  • Authors:
  • Jens Dietrich;Vyacheslav Yakovlev;Catherine McCartin;Graham Jenson;Manfred Duchrow

  • Affiliations:
  • Massey University, Palmerston North, New Zealand;Massey University, Palmerston North, New Zealand;Massey University, Palmerston North, New Zealand;Massey University, Palmerston North, New Zealand;Consulting and Software, Laichingen, Germany

  • Venue:
  • Proceedings of the 4th ACM symposium on Software visualization
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present a novel approach to the analysis of dependency graphs of object-oriented programs. We propose to use the Girvan-Newman clustering algorithm to compute the modular structure of programs. This is useful in assisting software engineers to redraw component boundaries in software, in order to improve the level of reuse and maintainability. The results of this analysis can be used as a starting point for refactoring the software. We present BARRIO, an Eclipse plugin that can detect and visualise clusters in dependency graphs extracted from Java programs by means of source code and byte code analysis. These clusters are then compared with the modular structure of the analysed programs defined by package and container specifications. Two metrics are introduced to measure the degree of overlap between the defined and the computed modular structure. Some empirical results obtained from analysing non-trivial software packages are presented.