SmellGuru: a machine learning-based approach to predict design problems - Silva, Robson Keemps da (2022)
Atualmente, a previsão de problemas de projeto de código-fonte desempenha um papel essencial na indústria de desenvolvimento de software, identificando com antecedência módulos arquitetônicos defeituosos. por esta razão, alguns estudos têm explorado este assunto na última década devido à relação com aspectos da manutenção e modularidade. Infelizmente, a literatura atual carece de (1) um fluxo de trabalho genérico abordagem que contém passos-chave para prever problemas de design, (2) uma linguagem para permitir que os desenvolvedores para especificar problemas de design e (3) um modelo de aprendizado de máquina para gerar previsões de design problemas. Portanto, esta dissertação propõe o ModelGuru, que é um aplicativo baseado em aprendizado de máquina abordagem para prever problemas de projeto. Em particular, este estudo (1) introduz uma visão inteligível fluxo de trabalho que fornece orientação clara aos usuários e facilita a inclusão de novas estratégias ou etapas para melhorar as previsões; (2) propõe uma linguagem específica de domínio (DSL) para especificar cheiros, juntamente com um suporte de ferramenta; e (3) propõe um modelo de máquina para apoiar a previsão de problemas de projeto. Além disso, este estudo realizou uma revisão sistemática da literatura que permitiu criar uma visão geral da literatura atual sobre o assunto de previsão de design problemas. Um estudo exploratório foi realizado para entender o impacto do DSL proposto em três variáveis: taxa de acerto das especificações criadas, taxa de erro e tempo investido elaborar as especificações dos problemas de projeto. Os primeiros resultados obtidos, apoiados por testes estatísticos, apontam para resultados animadores ao revelar uma taxa correta acima de 50%, taxa de erro abaixo de 30% e esforço menor que 15 minutos para especificar um mau cheiro. A avaliação da abordagem SmellGuru proposta foi realizada com 23 participantes, estudantes e profissionais de empresas brasileiras com experiência profissional em desenvolvimento de software. isso foi possível avaliar a facilidade de uso percebida, utilidade percebida e intenção comportamental de usando a abordagem SmellGuru proposta. Os entrevistados concordam que o SmellGuru é fácil de interpretar (43,47%), Inovador (60,86%) e facilitaria a manutenção do software (78,26%). Por fim, este estudo traça algumas implicações e mostra o potencial de adoção da proposta abordagem para apoiar a especificação e previsão de problemas de projeto.