Use este identificador para citar ou linkar para este item: http://repositorio.ufc.br/handle/riufc/84668
Tipo: Dissertação
Título: AromaLIA: a language-independent approach to detect test smells
Autor(es): Silva, Publio Blenilio Tavares
Orientador: Bezerra, Carla Ilane Moreira
Coorientador: Machado, Ivan do Carmo
Palavras-chave em português: maus cheiros de teste;abordagem independente de linguagem;detecção de maus cheiros de teste
Palavras-chave em inglês: test smell;language-independent approach;test smell detection
CNPq: CNPQ: CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO
Data do documento: 2025
Citação: SILVA, Publio Blenilio Tavares. AromaLIA: a language-independent approach to detect test smells. 2025. 144 f. Dissertação (Mestrado em Computação) - Campus de Quixadá, Programa de Pós-Graduação em Computação, Universidade Federal do Ceará, Quixadá, 2025.
Resumo: Maus cheiros de teste (test smells) são indícios de más práticas ou decisões inadequadas tomadas durante o desenvolvimento de código de teste, que podem comprometer sua manutenibilidade e capacidade de evolução. Esse tema tem ganhado crescente relevância nos últimos anos, com diversos trabalhos propondo soluções para detectar test smells. No entanto, a maior parte dessas soluções é projetada para funcionar com um número extremamente limitado de linguagens de programação, frequentemente apenas uma. Isso significa que aplicar técnicas de detecção de test smells em uma nova linguagem geralmente exige desenvolver uma solução do zero, mesmo para problemas já abordados em outras linguagens. Nesse contexto, o objetivo deste trabalho é propor uma abordagem independente de linguagem para detectar test smells. Para compreender como esse tópico tem sido tratado na literatura, conduzimos um mapeamento sistemático (MS) que analisou 117 estudos publicados até agosto de 2025. A partir dessa análise, identificamos, entre outros aspectos, os test smells mais recorrentes em múltiplas linguagens de programação, bem como aqueles considerados mais críticos, ou seja, os que demandam maior atenção da comunidade. Com base nesses achados, propusemos nossa abordagem, avaliamos sua eficácia nas linguagens C#, Java, JavaScript, TypeScript e Python em 10 diferentes test smells e a comparamos com abordagens específicas de linguagem já existentes. Os resultados foram promissores: nossa solução apresentou desempenho superior em termos de efetividade, alcançando precisão de 97%, recall de 96% e F1-score de 97%. Para facilitar a aplicação prática, desenvolvemos e disponibilizamos uma ferramenta de detecção de test smells baseada em nossa abordagem independente de linguagem. Os resultados deste trabalho têm o potencial de simplificar a inclusão de novas linguagens no contexto da detecção de maus cheiros de teste, permitindo o reaproveitamento de esforços anteriores em diferentes ecossistemas. Isso beneficia tanto profissionais da indústria que desejam utilizar ferramentas de apoio à qualidade de testes quanto pesquisadores interessados em investigar test smells em novas linguagens de programação.
Abstract: Test smells are indicators of poor practices or suboptimal decisions made during test-code development, which can undermine its maintainability and evolution. This topic has gained increasing relevance in recent years, and numerous studies have proposed techniques to detect test smells. However, most existing solutions support only a very limited set of programming languages, often just one. As a result, applying test smell detection to a new language typically requires developing an entirely new solution, even when similar problems have already been addressed elsewhere. In this context, the objective of this work is to propose a languageindependent approach for detecting test smells. To understand how this topic has been explored in the literature, we conducted a Systematic Mapping Study (SMS) analyzing 117 studies published up to August 2025. From this review, we identified, among other aspects, the most frequently discussed test smells across multiple programming languages and those considered most critical, that is, the ones that require the greatest attention from the community. Based on these findings, we developed our approach and evaluated its effectiveness in C#, Java, JavaScript, TypeScript, and Python across 10 different test smells, comparing it with existing language-specific techniques. The results were promissing: our solution demonstrated superior effectiveness, achieving 97% precision, 96% recall, and a 97% F1-score. To support practical adoption, we also implemented and released a test smell detection tool built upon our languageindependent methodology. The outcomes of this work have the potential to greatly simplify the incorporation of new programming languages into test smell detection workflows, enabling the reuse of prior efforts across diverse ecosystems. This benefits both industry practitioners seeking high-quality testing tools and researchers interested in studying test smells in additional languages.
URI: http://repositorio.ufc.br/handle/riufc/84668
Currículo Lattes do Orientador: http://lattes.cnpq.br/4277471687235814
Tipo de Acesso: Acesso Aberto
Aparece nas coleções:PCOMP - QUIXADÁ - Dissertações defendidas na UFC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2025_dis_pbtsilva.pdf2,04 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.