Software components analysis is a critical technique for software development and maintenance. Clustering techniques have been widely used in grouping related software components. However, software is complex, but clustering techniques used in software engineering typically adopt only one metric to measure the similarity of components. This paper proposes an adaptive fuzzy clustering technique based on possibilistic clustering algorithms to address the issue of single metric. The proposed technique collaboratively considers distance, density, and the trend of density change of component instances in the membership degree calculation. The post clustering separation of clustered components based on the predefined thresholds and regrouping of the separated component points result in higher cohesive clustering. The proposed algorithm has been evaluated via experiments using a network protocol RSVP-TE system. The comparison of Hierarchical, Self-organizing map (SOM), and fuzzy c-means (FCM) against adaptive fuzzy clustering proposed in this paper indicates that the adaptive fuzzy clustering group software component instances into more cohesive clusters while it is also insensitive to parameter settings.

Additional Metadata
Keywords Fuzzy C-means, Network anomaly detection, Partitional clustering, Possibilistic clustering
Persistent URL
Conference 39th IEEE Annual Computer Software and Applications Conference Workshops, COMPSACW 2015
Liu, D. (Duo), Lung, C.H, & Ajila, S. (2015). Adaptive clustering techniques for software components and architecture. Presented at the 39th IEEE Annual Computer Software and Applications Conference Workshops, COMPSACW 2015. doi:10.1109/COMPSAC.2015.256