Artículo: Comparación de herramientas de Detección de Design Smells
Fecha
Editor
Publicado en
Licencia Creative Commons
Resumen
La detección de Design Smells ha experimentado un auge en actividad entre los años 2010 y 2014. Proliferan las herramientas de detección automática pero se percibe un problema de falta de acuerdo en la identificación de Design Smells. En este trabajo se presentan dos experimentos. El primero es un experimento diseñado como estudio preliminar en el que se comparan una selección de 6 herramientas (inCode, inFusion, iPlasma, Together, JDeodorant y JSmellSensor) usándolas para detectar Design Smells en un proyecto software de código abierto. Del proyecto seleccionado se eligieron 100 clases aleatoriamente para este primer estudio exploratorio. El análisis consistió en valorar el grado de acuerdo en la identificación de Design Smells en el grupo de herramientas. En este primer experimento el estudio se realizó centrándose en la detección de dos tipos de Design Smells: God Class y Feature Envy. De este primer estudio se detectó un grupo de tres herramientas (inCode, inFusion, iPlasma) con un grado de acuerdo muy bueno. Se analizó que esto es así debido a que las tres fueron desarrolladas en el mismo grupo de investigación. Entre el resto de herramientas el acuerdo es inexistente (peor que al azar) o débil. El acuerdo débil se detectó entre el grupo de tres herramientas antes mencionadas y la herramienta JSmellSensor. JSmellSensor es una herramienta experimental desarrollada en nuestro grupo de investigación que parte de conocimiento aportado por iPlasma. Debido a estas circunstancias y para profundizar en el problema se diseñó una réplica. En esta réplica se comparan 5 herramientas (iPlasma, PMD, JDeodorant, DECOR, Together). Del grupo de tres herramientas identificado en el primer experimento se eligió como representante iPlasma. Se decidió que JSmellSensor no participase en esta réplica. En este segundo experimento se analizaron 12588 clases fruto de la preparación de un dataset con todas las clases de 24 proyectos de código abierto obtenidos de SourceForge. Este segundo experimento se centró únicamente en el estudio del acuerdo en la identificación de God Clss. Los resultados obtenidos en este segundo experimento muestran que tanto el acuerdo entre las herramientas tomadas conjuntamente como analizadas dos a dos es muy pobre.