As aplicações desenvolvidas com a linguagem JavaScript, vêm aumentando a cada dia, não somente aquelas baseadas em Web (client-side), como também as aplicações para servidor (server-side) e dispositivos móveis (mobile). Neste contexto, a necessidade de ferramentas para identificação de falhas é fundamental, para auxiliar desenvolvedores durante a evolução destas aplicações. Diferentes ferramentas e abordagens têm sido propostas ao longo dos anos e este conhecimento encontra-se fragmentado na literatura, o que dificulta os desenvolvedores a escolherem as melhores ferramentas para identificação de falhas. Desta forma, o objetivo desta pesquisa é analisar sistematicamente os métodos e ferramentas que estão sendo utilizadas para detecção automática de falhas em software escrito em JavaScript. Além de catalogar as falhas mais procuradas pelos estudos em cada ambiente e identificar as lacunas existentes na área. Para tal, foi realizada uma revisão sistemática da literatura (RSL), que resultou em 19 estudos primários relevantes para o objetivo desta pesquisa. A maioria desses estudos estão voltados para ambiente Web (client-side), mostrando a falta de trabalhos para detecção de falhas em ambientes serverside e multiplataforma.
A presença de code smells em projetos de software têm consequências negativas no que diz respeito a coesão e manutenibilidade do código. Assim sendo, a análise de técnicas usadas para descoberta e detecção de code smells de maneira automática é um tópico cada vez mais explorado. Uma ferramenta semi-automática que permite descobrir padrões de defeitos e eventuais code smells em código JavaScript é a BugAID. O objetivo deste trabalho foi contribuir com a ferramenta BugAID na tarefa de descoberta de code smells comuns no desenvolvimento de software JavaScript através da melhoria na identificação de palavras associadas a código refatorado nas mensagens dos commits e com a implementação do módulo BE++. O módulo BE++ mostrou-se eficaz na identificação de code smells que envolvem pequenas alterações no código, descobrindo 5 code smells comuns dentro do grupo de refatorações. Esses code smells são candidatos à inclusão em ferramentas de detecção de code smells para prevenção de problemas no desenvolvimento de software JavaScript.
Macedo, Charles Mendes de. Application of clustering algorithms for discovering bug patterns in JavaScript software. 2019. 82 p. Dissertation (Master of
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.