Abstract: Object oriented design is a template to solve a problem that can be used in many different applications. For the design of a new application, a large amount of code can be reused by the existing design patterns. Therefore, it becomes necessary to identify the similar design structures. One of the frequently used algorithms for finding identical structures is Markov Clustering (MCL), that works well when the clusters are small in diameter, but for large clusters, there is a possibility that the weakly connected components may overlap. To remove overlapping, authors adopted and modified the existing MCL approach and thus proposed the new graph partitioning approach named as Unfolding and Boosting-based Graph Partitioning Algorithm (UB-GPA), that will result in an inconsistent set of uni-class clusters. The algorithm interprets the clusters/partitions by an iterative process of unfolding and boosting operations. Experimental results show that the proposed UB-GPA performs well as compared with MCL.

Keywords: software design models; reusability; identical design structures; software clustering; graph partitioning.