Aplicação de Algoritmos de Agrupamento para Descoberta de Padrões de Defeito em Software JavaScript

  • Charles Mendes de Macedo Universidade de São Paulo
  • André Siqueira Ruela Universidade de São Paulo
  • Karina Valdivia Delgado Universidade de São Paulo

Resumo


As aplicações desenvolvidas com a linguagem JavaScript, vêm aumentando a cada dia, não somente aquelas na web (client-side), como também as aplicações executadas no servidor (server-side) e em dispositivos móveis (mobile). Neste contexto, a existência de ferramentas para identificação de defeitos é fundamental, para auxiliar desenvolvedores durante a evolução destas aplicações. Diferentes ferramentas e abordagens têm sido propostas ao longo dos anos, contudo apresentam limitações para evoluir com o tempo, a ponto de ficarem obsoletas rapidamente. O motivo disso é a utilização de uma lista fixa de defeitos predefinidos que são procurados no código. A ferramenta BugAID implementa uma estratégia semiautomática para descobrir padrões de defeitos através de agrupamentos das mudanças realizadas no decorrer do desenvolvimento do projeto. O objetivo deste trabalho é contribuir nessa ferramenta estendendo-a com melhorias na abordagem da extração de características, as quais são usadas pelos algoritmos de clusterização. O módulo estendido do módulo de extração do BugAID (BE) encarregado da extração de características é chamado de BugAIDExtract+ (BE+). Além disso, neste trabalho é realizada uma avaliação de vários algoritmos de clusterização na descoberta dos padrões de defeitos em software JavaScript. Os resultados mostram que os algoritmos DBScan e Optics com BE+ apresentaram os melhores resultados para os índices Rand, Jaccard e Rand Ajustado, enquanto o HDBScan com BE e com BE+ apresentou o pior resultado.
Palavras-chave: Machine Learning, Bug Discovery, Pattern Recognition, Software Quality, Data Mining
Publicado
20/05/2019
DE MACEDO, Charles Mendes; RUELA, André Siqueira; DELGADO, Karina Valdivia. Aplicação de Algoritmos de Agrupamento para Descoberta de Padrões de Defeito em Software JavaScript. In: SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 15. , 2019, Aracajú. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 159-166.