Study on unsupervised machine learning applied to software testing based on resource usage (2024)
- Authors:
- Autor USP: RUIZ, KEVIN GERARDO POLO - ICMC
- Unidade: ICMC
- Sigla do Departamento: SSC
- DOI: 10.11606/D.55.2024.tde-11022025-170631
- Subjects: APRENDIZADO COMPUTACIONAL; SOFTWARES; QUALIDADE DE SOFTWARE
- Keywords: Agglomerative clustering; Agrupamento aglomerativo; Anomaly detection; Detecção de anomalias; Detecção de defeitos; Fault detection; Machine learning; Software testing
- Language: Inglês
- Abstract: Os sistemas tornam-se cada vez mais complexos na indústria de software, o que os torna também mais propensos a falhas. Garantir a qualidade do software por meio de testes rigorosos é crucial, mas essa tarefa ainda é custosa e difícil, consumindo partes significativas do orçamento dos projetos. A automação é um fator chave para melhorar a eficiência dos testes, com novas metodologias e ferramentas sendo desenvolvidas continuamente. O Aprendizado de Máquina tem despertado considerável interesse em várias áreas nos últimos dez anos, impulsionado por avanços no poder computacional e na capacidade de gerenciar grandes volumes de dados. A Tricorder é uma metodologia de Testes projetada para detectar possíveis defeitos de software ao analisar mudanças no comportamento do consumo de recursos do sistema computacional em teste. O comportamento do consumo de recursos é caracterizado pelo aprendizado de máquina não supervisionado fornecido pela DAMICORE. A metodologia usada pela DAMICORE é baseada em um pipeline de três etapas principais. O pipeline utiliza a Distância de Compressão Normalizada (NCD) para gerar uma matriz de distâncias, o algoritmo Neighbor-Joining para construir uma árvore filogenética, e o método Fast Newman para detecção de comunidades, essencial para o agrupamento de dados. A DAMICORE monitora e identifica anomalias nos padrões de uso de recursos como CPU, memória e, Entrada e Saída, de modo a indicar a possivel presença de defeitos de software. Este projeto estudao impacto gerado pela DAMICORE na detecção de defeitos de software fornecido pela Tricorder, no contexto de agrupamento aglomerativo e árvores filogenéticas, testando várias técnicas adaptadas à DAMICORE. A revisão da literatura sobre Aprendizado de Máquina aplicado ao Teste de Software destacou que as técnicas mais amplamente estudadas para agrupamento aglomerativo são baseadas em Single, Complete e Average (UPGMA) Linkages. Neighbor-Joining e UPGMA são proeminentes na construção de árvores filogenéticas. Para alcançar os objetivos do projeto, consolidamos as bases teóricas, seguidas por uma revisão aprofundada do estado da arte e das metodologias específicas da Tricorder e da DAMICORE. Em seguida, planejamos e executamos sistematicamente uma série de experimentos, analisando os resultados gerados. O projeto demonstrou o potencial do uso da distância de Levenshtein, aproveitando a topologia de rede para a detecção de comunidades, e incorporando todas as métricas do sistema em uma análise única. Essas abordagens apresentaram resultados melhores em nosso contexto do que outras técnicas encontradas na literatura. NCD e Neighbor-Joining apresentam limitações significativas, especialmente devido às suas altas demandas computacionais, o que dificulta sua aplicação prática em projetos maiores e mais complexos. As melhorias introduzidas neste projeto devem melhorar a precisão da DAMICORE na detecção de defeitos de software. Os resultados deste projeto contribuam para o estado daarte na aplicação do Aprendizado de Máquina ao Teste de Software e reforçam a posição da Tricorder na comunidade de Teste de Software.
- Imprenta:
- Publisher place: São Carlos
- Date published: 2024
- Data da defesa: 23.10.2024
- Status:
- Artigo possui versão em acesso aberto em repositório (Green Open Access)
- Versão do Documento:
- Versão submetida (Pré-print)
- Acessar versão aberta:
-
ABNT
RUIZ, Kevin Gerardo Polo. Study on unsupervised machine learning applied to software testing based on resource usage. 2024. Dissertação (Mestrado) – Universidade de São Paulo, São Carlos, 2024. Disponível em: https://teses.usp.br/teses/disponiveis/55/55134/tde-11022025-170631/. Acesso em: 02 abr. 2026. -
APA
Ruiz, K. G. P. (2024). Study on unsupervised machine learning applied to software testing based on resource usage (Dissertação (Mestrado). Universidade de São Paulo, São Carlos. Recuperado de https://teses.usp.br/teses/disponiveis/55/55134/tde-11022025-170631/ -
NLM
Ruiz KGP. Study on unsupervised machine learning applied to software testing based on resource usage [Internet]. 2024 ;[citado 2026 abr. 02 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-11022025-170631/ -
Vancouver
Ruiz KGP. Study on unsupervised machine learning applied to software testing based on resource usage [Internet]. 2024 ;[citado 2026 abr. 02 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-11022025-170631/
Informações sobre a disponibilidade de versões do artigo em acesso aberto coletadas automaticamente via oaDOI API (Unpaywall).
Por se tratar de integração com serviço externo, podem existir diferentes versões do trabalho (como preprints ou postprints), que podem diferir da versão publicada.
How to cite
A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas
