Hierarchical Clustering for Software Systems Restructuring

Improving the quality of software systems design is the most important issue during the evolution of object oriented software systems. In this paper we are focusing on the problem of determining refactorings that can be used in order to improve the design of object oriented software systems. Refacto...

Descripción completa

Detalles Bibliográficos
Autores: Czibula, István Gergely, Serban, Gabriela
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2007
País:Brasil
Institución:Universidade Federal de Lavras (UFLA)
Repositorio:INFOCOMP: Jornal de Ciência da Computação
Idioma:inglés
OAI Identifier:oai:infocomp.dcc.ufla.br:article/194
Acceso en línea:https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/194
Access Level:acceso abierto
Palabra clave:Software engineering
system design
refactoring
hierarchical clustering
Descripción
Sumario:Improving the quality of software systems design is the most important issue during the evolution of object oriented software systems. In this paper we are focusing on the problem of determining refactorings that can be used in order to improve the design of object oriented software systems. Refactoring  is a major issue to improve internal software quality. This paper aims at presenting a new hierarchical agglomerative clustering algorithm, HARS (Hierarchical agglomerative clustering algorithm for restructuring software systems), that identifies the refactorings needed in order to restructure a software system. Clustering is used in order to recondition the class structure of the system. The proposed approach can be useful for assisting software engineers in their daily works of refactoring software systems. We evaluate our approach using the open source case study JHotDraw , emphasizing its advantages in comparison with existing approaches.