Object Oriented Software Clustering Based on Community Structure

Erdemir U., Tekin U., Buzluca F.

18th Asia-Pacific Software Engineering Conference (APSEC), Ho Chi Minh, Vietnam, 5 - 08 December 2011, pp.315-321 identifier identifier

  • Publication Type: Conference Paper / Full Text
  • Doi Number: 10.1109/apsc.2011.33
  • City: Ho Chi Minh
  • Country: Vietnam
  • Page Numbers: pp.315-321
  • Istanbul Technical University Affiliated: Yes


Software comprehension plays a critical role in software maintenance. Understanding a software system is not an easy task because in most cases documentation of software design is outdated, incomplete or absent. Therefore support of tools and algorithms are necessary for software developers to understand software quicker and easier. Clustering algorithms have been widely used for software architecture recovery. Their performance depends not only on the algorithm itself but also on the nature of the software system. For example, an algorithm that is successful for a procedural program or a small software system or might be unsuccessful for a large system developed in object-oriented paradigm. In this paper, we propose the adaption of the fast community detection algorithm for object-oriented software clustering and evaluate its performance with other clustering algorithms in the literature. It is an agglomerative hierarchical clustering algorithm that has been introduced to find communities in networks. The algorithm can operate on directed weighted graphs and it has a considerable speed advantage over other algorithms. Experimental results show that the algorithm also performs well for clustering object-oriented systems.