Artículo
Identifying emerging smells in software designs based on predicting package dependencies
Fecha de publicación:
10/2022
Editorial:
Pergamon-Elsevier Science Ltd
Revista:
Engineering Applications Of Artificial Intelligence
ISSN:
0952-1976
Idioma:
Inglés
Tipo de recurso:
Artículo publicado
Clasificación temática:
Resumen
Software systems naturally evolve, and this evolution often brings design problems that contribute to system degradation. Architectural smells are typical symptoms of such problems, and several of these smells are related to undesired dependencies among packages. The early detection of smells is essential for software engineers to plan ahead for maintenance or refactoring efforts. Although tools for identifying smells exist, they detect the smells once they already exist in the source code when their undesired dependencies are already created. In this work, we explore a forward-looking approach for identifying smells that can emerge in the next system version based on inferring package dependencies that are likely to appear in the system. Our approach takes the current design structure of the system as a network, along with information from previous versions, and applies link prediction techniques from the field of social network analysis. In particular, we consider a group of smells known as instability smells (cyclic dependency, hub-like dependency, and unstable dependency), which fit well with the link prediction model. The approach includes a feedback mechanism to progressively reduce false positives in predictions. An evaluation based on six open-source projects showed that, under certain considerations, the proposed approach can satisfactorily predict missing dependencies and smell configurations thereof. The feedback mechanism led to improvements of up to three times the initial precision values. Furthermore, we have developed a tool for practitioners to apply the approach in their projects.
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
Tommasel, Antonela; Diaz Pace, Jorge Andres; Identifying emerging smells in software designs based on predicting package dependencies; Pergamon-Elsevier Science Ltd; Engineering Applications Of Artificial Intelligence; 115; 10-2022; 1-17
Compartir
Altmétricas