Artículos de revistas
An approach to prioritize code smells for refactoring
Fecha
2016-09Registro en:
Vidal, Santiago Agustín; Marcos, Claudia Andrea; Diaz Pace, Jorge Andres; An approach to prioritize code smells for refactoring; Springer; Automated Software Engineering; 23; 3; 9-2016; 501-532
0928-8910
1573-7535
CONICET Digital
CONICET
Autor
Vidal, Santiago Agustín
Marcos, Claudia Andrea
Diaz Pace, Jorge Andres
Resumen
Code smells are a popular mechanism to find structural design problems in software systems. Consequently, several tools have emerged to support the detection of code smells. However, the number of smells returned by current tools usually exceeds the amount of problems that the developer can deal with, particularly when the effort available for performing refactorings is limited. Moreover, not all the code smells are equally relevant to the goals of the system or its health. This article presents a semi-automated approach that helps developers focus on the most critical problems of the system. We have developed a tool that suggests a ranking of code smells, based on a combination of three criteria, namely: past component modifications, important modifiability scenarios for the system, and relevance of the kind of smell. These criteria are complementary and enable our approach to assess the smells from different perspectives. Our approach has been evaluated in two case-studies, and the results show that the suggested code smells are useful to developers.