Title :
Identifying design patterns in object-oriented software systems using unsupervised learning
Author :
Czibula, Istvan Gergely ; Czibula, Gabriela Serban
Author_Institution :
Dept. of Comput. Sci., Babe-Bolyai Univ., Bolyai
Abstract :
Design patterns offer timeless and elegant solutions to common problems in software design. From a program-understanding and a reverse engineering perspective the discovery of patterns in a software artifact (design or code) represents a step in the program understanding process. It would be useful to find instances of design patterns especially in designs where they were not used explicitly or where their use is not documented, as this could improve the maintainability of software. Clustering is considered the most important unsupervised learning problem. The aim of clustering methods is to differentiate groups (classes or clusters) inside a given set of objects. In this paper we introduce a hierarchical clustering based approach in order to localize instances of design patterns in existing software systems. We also provide an experimental evaluation of our approach, illustrating its advantages in comparison with similar existing approaches.
Keywords :
object-oriented programming; pattern clustering; reverse engineering; software maintenance; unsupervised learning; design patterns identification; hierarchical clustering; object-oriented software systems; patterns discovery; program understanding; reverse engineering; software artifact; software design; software maintainability; unsupervised learning; Clustering algorithms; Clustering methods; Data mining; Merging; Partitioning algorithms; Reverse engineering; Software design; Software maintenance; Software systems; Unsupervised learning;
Conference_Titel :
Automation, Quality and Testing, Robotics, 2008. AQTR 2008. IEEE International Conference on
Conference_Location :
Cluj-Napoca
Print_ISBN :
978-1-4244-2576-1
Electronic_ISBN :
978-1-4244-2577-8
DOI :
10.1109/AQTR.2008.4588942