Artículo
Assessing the refactoring of brain methods
Vidal, Santiago Agustín
; Berra, Iñaki; Zuliani Held, Santiago; Marcos, Claudia Andrea; Diaz Pace, Jorge Andres
Fecha de publicación:
04/2018
Editorial:
Association for Computing Machinery
Revista:
ACM Transactions on Software Engineering and Methodology
ISSN:
1049-331X
Idioma:
Inglés
Tipo de recurso:
Artículo publicado
Clasificación temática:
Resumen
Code smells are a popular mechanism for identifying structural design problems in software systems. Several tools have emerged to support the detection of code smells and propose some refactorings. However, existing tools do not guarantee that a smell will be automatically fixed by means of refactorings. This article presents Bandago, an automated approach to fix a specific type of code smell called Brain Method. A Brain Method centralizes the intelligence of a class and manifests itself as a long and complex method that is difficult to understand and maintain by developers. For each Brain Method, Bandago recommends several refactoring solutions to remove the smell using a search strategy based on simulated annealing. Our approach has been evaluated with several open-source Java applications, and the results show that Bandago can automatically fix more than 60% of Brain Methods. Furthermore, we conducted a survey with 35 industrial developers that showed evidence about the usefulness of the refactorings proposed by Bandago. Also, we compared the performance of the Bandago against that of a third-party refactoring tool.
Palabras clave:
CODE SMELLS
,
REFACTORING
,
BRAIN METHOD
,
LONG METHOD
Archivos asociados
Licencia
Identificadores
Colecciones
Articulos(ISISTAN)
Articulos de INSTITUTO SUPERIOR DE INGENIERIA DEL SOFTWARE
Articulos de INSTITUTO SUPERIOR DE INGENIERIA DEL SOFTWARE
Citación
Vidal, Santiago Agustín; Berra, Iñaki; Zuliani Held, Santiago; Marcos, Claudia Andrea; Diaz Pace, Jorge Andres; Assessing the refactoring of brain methods; Association for Computing Machinery; ACM Transactions on Software Engineering and Methodology; 27; 1; 4-2018; 1-43
Compartir
Altmétricas