Artículo

Ranking architecturally critical agglomerations of code smells

Vidal, Santiago Agustín Icon; Oizumi, Willian ; Garcia, Alessandro ; Diaz Pace, Jorge Andres Icon; Marcos, Claudia Andrea

Otros responsables

Fecha

07/2019

Editorial

Elsevier Science

Revista

Science of Computer Programming

Título del libro

Nombre del evento

Fecha del evento

Institución organizadora

ISSN

0167-6423

eISSN

ISBN

Idioma

Inglés

Tipo del evento

Clasificación temática

Resumen

Code smells are symptoms in the source code that could help to identify architectural problems. However, developers may feel discouraged to analyze multiple smells if they are not able to focus their attention on a small set of source code locations. Unfortunately, current techniques fall short in assisting developers to prioritize smelly locations that are likely to indicate architectural problems. Furthermore, developers often have trouble analyzing interconnected smells that contribute together to realize an architectural problem. To deal with these issues, this work presents and evaluates a suite of five criteria for ranking groups of code smells as indicators of architectural problems in evolving systems. These criteria were implemented in a tool called JSpIRIT. In a first experiment, we have assessed the criteria in the context of 23 versions of 4 systems and analyzed their effectiveness for revealing architectural problem locations. In addition, we conducted a second experiment for analyzing similarities between the prioritization provided by developers and the prioritization provided by our best performing criterion. The results provide evidence that one of the proposed criteria helped to correctly prioritize more than 80 code locations of architectural problems, alleviating tedious manual inspection of the source code vis-a-vis with the architecture.

Aprobación

Revisión

Complementado por

Referenciado por

Licencia Creative Commons

Excepto donde se indique lo contrario, la licencia de este ítem se describe como by-nc-sa