On the prediction of source code design problems: A systematic mapping study

Context: Nowadays, the prediction of source code design problems plays an essential role in the software development industry, identifying defective architectural modules in advance. For this reason, some studies explored this subject in the last decade. Researchers and practitioners often need to c...

Descripción completa

Detalles Bibliográficos
Autores: Silva, Robson Keemps, Farias, Kleinner Silva, Kunst, Rafael
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2023
País:México
Institución:UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Repositorio:Journal of Applied Research and Technology
Idioma:inglés
OAI Identifier:oai:ojs2.localhost:article/1749
Acceso en línea:https://jart.icat.unam.mx/index.php/jart/article/view/1749
Access Level:acceso abierto
Palabra clave:Bad Smells, Software Engineering, Metrics, Software Analytics, Design
Descripción
Sumario:Context: Nowadays, the prediction of source code design problems plays an essential role in the software development industry, identifying defective architectural modules in advance. For this reason, some studies explored this subject in the last decade. Researchers and practitioners often need to create an overview of such studies considering the predictors of design problems, their main contributions, the used prediction techniques and research methods. Problem: However, the current literature remains scarce of studies proposing a detailed mapping of studies already published. Objective: This article, therefore, focuses on classifying the current literature and pinpointing trends and challenges worth investigating in this research field. Method: A systematic mapping of the literature was designed and performed based on well-established practical guidelines. In total, 35 primary studies were selected, analyzed, and categorized after applying a careful filtering process from a corpus of 894 candidate studies to answer six research questions. Results: The main results are that a majority of the primary studies (1) explore Bloater bad smells, (2) use code complexity and size as predictors, (3) apply machine learning techniques to generate predictions, and (4) present a prediction proposal without an extensive empirical assessment. Conclusions: Predicting design problems is still in its infancy, showing that there is plenty of room for future work. Finally, this study can serve as a starting point for the research community