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...

Full description

Bibliographic Details
Authors: Czibula, István Gergely, Serban, Gabriela
Format: article
Status:Published version
Publication Date:2007
Country:Brasil
Institution:Universidade Federal de Lavras (UFLA)
Repository:INFOCOMP: Jornal de Ciência da Computação
Language:English
OAI Identifier:oai:infocomp.dcc.ufla.br:article/194
Online Access:https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/194
Access Level:Open access
Keyword:Software engineering
system design
refactoring
hierarchical clustering
Description
Summary: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.