InSet: A Tool to Identify Architecture Smells Using Machine Learning - Cunha, Warteruzannan Soyer; Armijo, Guisella Angulo; Camargo, Valter Vieira de (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2020)
Architectural smells (ASs) are architectural decisions that negatively affect the maintenance and evolution of software. Most of the existing tools able to identify AS rely on few metrics with fixed thresholds. However, it is not possible to define specific metrics and thresholds that meet all the cases, i.e., the classification of a piece of code in smell or not can depend on the domain, the experience of developers, organization patterns or even from a vast set of features - so there is a subjective ingredient in this decision. Machine Learning (ML) can help to make these decisions/classifications more precise by taking into consideration a vast set of features and also feedback from experts. This paper presents a machine learning-based tool to detect the architectural smells Unstable Dependency(UD) and God Component(GC). Our tool is able to take into consideration users' feedback to retrain the algorithms and constantly improve their performance. Our tool got good result in terms of accuracy, precision, recall, F-measure and Kappa's coefficient.