Comparing the decompositions produced by software clustering algorithms using similarity measurements
- 13 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 744-753
- https://doi.org/10.1109/icsm.2001.972795
Abstract
Decomposing source code components and relations into subsystem clusters is an active area of research. Numerous clustering approaches have been proposed in the reverse engineering literature, each one using a different algorithm to identify subsystems. Since different clustering techniques may not produce identical results when applied to the same system, mechanisms that can measure the extent of these differences are needed. Some work to measure the similarity between decompositions has been done, but this work considers the assignment of source code components to clusters as the only criterion for similarity. We argue that better similarity measurements can be designed if the relations between the components are considered. The authors propose two similarity measurements that overcome certain problems in existing measurements. We also provide some suggestions on how to identify and deal with source code components that tend to contribute to poor similarity results. We conclude by presenting experimental results, and by highlighting some of the benefits of our similarity measurements.Keywords
This publication has 11 references indexed in Scilit:
- Chava: reverse engineering and tracking of Java appletsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Automatic clustering of software systems using a genetic algorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Using automatic clustering to produce high-level system organizations of source codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- CRAFT: a framework for evaluating software clustering results in the absence of benchmark decompositions [Clustering Results Analysis Framework and Tools]Published by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- On the stability of software clustering algorithmsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A framework for experimental evaluation of clustering techniquesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A comparison of graphs of concept for reverse engineeringPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A reverse‐engineering approach to subsystem structure identificationJournal of Software Maintenance: Research and Practice, 1993
- Extracting and restructuring the design of large systemsIEEE Software, 1990
- System Structure Analysis: Clustering with Data BindingsIEEE Transactions on Software Engineering, 1985