Visualization of Object Oriented Software Measures using Self-Organizing Maps

Witold Pedrycz,Giancarlo Succi,Petr Musílek,Xiao Bai
2002-01-01
Abstract:Role of self-organizing maps in visualization and analysis of software measures is presented and discussed in this paper. We re veal how self-organizing maps can create a user-friendly and interactive visualization tool that helps software designer to inspect vari ous alternatives and get a thorough insight into the structure of the clusters of the software modules and related metrics. We show how using self-organizing maps we can grow clusters in a dynamic fashion thus explicitly capture relationships between the software measu res and quantify these dependencies for larger and less homogeneous clusters of software modules. The experimental environment exploite d in this study relies on software measures coming from 10 large public domain systems, 5 Java and 5 C++ systems. The visibility of the revealed structure in data is crucial fo r any system supporting exploratory (software engineering) data analysis. The result of the analysis should be conveyed to the user in an easy to understand format rather than in sequence of numbers. For t his purpose, the notion of granular information (11) has been proposed. Information granules are perceived as conceptually meaningful entiti es that encapsulate elements that are similar (both in terms of closeness or functionality). We will show that this is vital in reveali ng general dependencies between information granules of software measures. In this study, we introduce self-organizing maps (7) and discuss their role in the analysis and visualization of software modul es in the space of software measures. We next explain how self-organizing maps create a user-friendly and highly interactive visualizatio n tool that helps user inspect various alternatives and get a thorough insight into the structure of the clusters of the software modules a nd the associated metrics. We then apply the proposed methodology to metrics collected from 10 large public domain systems, and discuss the results by underlying the user-friendliness and its role in the neural data analysis. We focus on object oriented metrics, give n the current wide use of Object Oriented systems. We also use SOM to identify relations between software measures. These are visualized in terms of a series of specialized SOMs (with each of them dedicated to the visualization of an individual software measure). This type of dependency analysis provides us wi th a better and more comprehensive insight into the structure of relationships that the one formed in terms of correlation matrices.
What problem does this paper attempt to address?