Analyzing Java Software by Combining Metrics and Program Visualization

  • Authors:
  • Tarja Systä;Ping Yu;Hausi Müller

  • Affiliations:
  • -;-;-

  • Venue:
  • CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Shimba, a prototype reverse engineering environment, has been built to support the understanding of Java software. Shimba uses Rigi and SCED to analyze, visualize, and explore the static and dynamic aspects, respectively, of the subject system. The static software artifacts and their dependencies are extracted from Java byte code and viewed as directed graphs using the Rigi reverse engineering environment. The static dependency graphs of a subject system can be annotated with attributes, such as software quality measures, and then be analyzed and visualized using scripts through the end-user programmable interface.Shimba has recently been extended with the Chidamber and Kemerer suite of object-oriented metrics. The metrics measure properties of the classes, the inheritance hierarchy, and the interaction among classes of a subject system. Since Shimba is primarily intended for the analysis and exploration of Java software, the metrics have been tailored to measure properties of software components written in Java.We show how these metrics can be applied in the context of Understanding software systems using a reverse engineering environment. The static dependency graphs of the system under investigation are decorated with measures obtained by applying the object-oriented metrics to selected software components.Shimba provides tools to examine these measures, to find software artifacts that have values that are in a given range, and to detect correlations among different measures. The object-oriented analysis of the subject Java system can be investigated further by exporting the measures to a spreadsheet.