Title :
Analyzing Java software by combining metrics and program visualization
Author :
Systä, Tarja ; Yu, Ping ; Muller, Hausi
Author_Institution :
Software Syst. Lab., Tampere Univ. of Technol., Finland
fDate :
2/1/2000 12:00:00 AM
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 visualised 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 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
Keywords :
Java; directed graphs; inheritance; object-oriented programming; program visualisation; reverse engineering; software metrics; software quality; Chidamber; Java byte code; Java software; Kemerer suite; Rigi; Rigi reverse engineering environment; SCED; Shimba; directed graphs; dynamic aspects; end user programmable interface; inheritance hierarchy; metrics; object oriented analysis; object oriented metrics; program visualization; prototype reverse engineering environment; reverse engineering environment; software artifacts; software components; software quality measures; spreadsheet; static dependency graphs; static software artifacts; subject Java system; subject system; Computer science; Electrical capacitance tomography; Java; Laboratories; Prototypes; Read only memory; Reverse engineering; Software systems; Tail; Visualization;
Conference_Titel :
Software Maintenance and Reengineering, 2000. Proceedings of the Fourth European
Conference_Location :
Zurich
Print_ISBN :
0-7695-0546-5
DOI :
10.1109/CSMR.2000.827328