InSet: A Tool to Identify Architecture Smells Using Machine Learning

  • Warteruzannan Soyer Cunha UFSCar
  • Guisella Angulo Armijo UFSCar
  • Valter Vieira de Camargo UFSCar

Resumo


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.
Palavras-chave: Architecture Anomalies, Machine Learning, Automatic Approach, Predictive Model, Architecture Smells, Software Smells
Publicado
21/10/2020
Como Citar

Selecione um Formato
CUNHA, Warteruzannan Soyer; ARMIJO, Guisella Angulo; CAMARGO, Valter Vieira de. InSet: A Tool to Identify Architecture Smells Using Machine Learning. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 34. , 2020, Natal. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 .