An improved hierarchical clustering combination approach for software modularization - Naseem, Rashid (2017)
Software modularization plays an important role in software maintenance phase. Modularization is the breaking down of a software system into sub-systems so that most similar entities (e.g., classes or functions) are collected in clusters to get the modular architecture. To check the accuracy of collected clusters, authoritativeness is calculated which finds the correspondence between collected clusters and a software decomposition prepared by a human expert. To improve the authoritativeness, different techniques have been proposed in the literature. However, agglomerative hierarchical clusterings (AHCs) are preferred due to their resemblance with internal tree structure of the software systems because AHC results in a tree like structure, called dendrogram. AHC uses similarity measures to find association values between entities and makes clusters of similar entities. This research addresses the strengths and weakness of existing similarity measures (i.e., Jaccard (JC), JaccardNM (JNM), and Russal&Rao (RR)). For example JC measure produces large number of clusters (NoC) and number of arbitrary decisions (AD). Large NoC is considered to be better for improving the authoritativeness but large AD deteriorates it. To overcome this trade-off, new combined binary similarity measures are proposed. To further improve the authoritativeness, this research explores the idea of hierarchical clustering combination (HCC) for software modularization which is based on combining results (dendrograms) of individual AHCs (IAHCs). This research proposes an improved HCC approach in which the dendrograms are represented in a 4+N (4 is the number of features and can be extended to N) dimensional Euclidean space (4+NDES). The proposed binary similarity measures and 4+NDES based HCC approach are tested on several test software systems. Experimental results revealed [13.5% - 63.5%] improvement in authoritativeness as compared to existing approaches. Thus the combined measures and 4+NDES-HCC have shown better potential to be used for software modularization.