Investigating Non-Usually Employed Features in the Identification of Architectural Smells: A Machine Learning-Based Approach - Cunha, Warteruzannan Soyer; Armijo, Guisella Angulo; Camargo, Valter Vieira de (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), 2020)
Architectural smells (ASs) negatively affect the maintenance and evolution of software at the architectural level. Most of the current approaches for ASs identification rely on the same small and well-known set of usually employed metrics (UE-Ms) with fixed thresholds. Machine learning (ML) is a promising technique for smell identification as algorithms can learn from a rich set of metrics/features, covering several characteristics of the software and incorporating a certain degree of subjectivity. This has been explored by building datasets with a robust and rich set of features, including not only the UE-Ms but also other non-usually employed metrics (NUE-Ms). However, usually the UE-Ms determine the output of the algorithms, obfuscating other metrics that have the potential to improve the classification. This also leads to inflated and difficult to maintain datasets. In this paper, we investigate the accuracy of some ML algorithms employing only NUE-Ms. We scoped our study in the classification of two smells: God Component and Unstable Dependency. This investigation revealed a set of NUE-Ms that can be also used to identify these smells and the contribution of each one for the classification. Based on this information, software engineers can then build a final dataset just with the potential features. We also briefly present our tool, called InSet, that was used by academics and practitioners to identify smells in their systems. The feedback of them was used as the oracle to compare our tool to other approaches and good results were reached.