info:eu-repo/semantics/article
Assessing the refactoring of brain methods
Fecha
2018-04Registro en:
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
1049-331X
CONICET Digital
CONICET
Autor
Vidal, Santiago Agustín
Berra, Iñaki
Zuliani Held, Santiago
Marcos, Claudia Andrea
Diaz Pace, Jorge Andres
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.