Aplicação de Algoritmos de Agrupamento para Descoberta de Padrões de Defeito em Software JavaScript - de Macedo, Charles Mendes; Ruela, André Siqueira; Delgado, Karina Valdivia (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI), 2019)
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.