Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Durães, Thiago de Jesus Oliveira
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-05042023-144747/
Resumo: O processo de desenvolvimento de software é uma tarefa complexa, apoiada pela engenharia de software. Apesar da evolução da engenharia de software, os sistemas ainda falham por defeitos inseridos no desenvolvimento. O teste de software tenta revelar defeitos, usando técnicas de teste bem conhecidas, as quais são usualmente baseadas em requisitos funcionais dos sistemas. Requisitos não funcionais, como o uso de recursos, também podem ser usados no teste, pois apontam comportamentos não esperados de uso de processador, memória, e entrada e saída. A metodologia de teste Tricorder, em desenvolvimento no ICMC/USP, agrupa perfis de desempenho (uso de recursos), de modo a automatizar a detecção de padrões anômalos de comportamento de sistemas de software. A Tricorder, que atua de maneira complementar aos testes já realizados no sistema, usa algoritmos de aprendizado de máquina não supervisionados, e já foi inicialmente avaliada, com sucesso, na detecção de defeitos funcionais de aplicações que processam streams de dados. O principal objetivo deste projeto é estender a avaliação da metodologia de teste Tricorder em outros domínios de aplicação que não apenas o processamento de streams de dados. Espera-se, ao atingir este objetivo principal, identificar eventuais ajustes na metodologia Tricorder que possam melhorar a sua automatização, eficácia e eficiência. A metodologia usada neste projeto considerou quatro diferentes experimentos para revelar defeitos em sistemas de criptografia, métodos de ordenação, processamento de vídeo e simulações de fluídos. Os defeitos analisados foram baseados em taxonomias de defeitos existentes na literatura e, sempre que possíveis, foram usados defeitos reais, relatados por seus desenvolvedores. As métricas usadas nas avaliações considerou a capacidade de revelar defeitos e a quantidade de falsos positivos e falsos negativos. Os resultados dos experimentos mostram que a Tricorder consegue revelar com sucesso defeitos de software nos domínios de aplicação analisados, para a grande maioria das execuções com defeitos. Este trabalho contribui com a atividade de teste de software, em particular com a redução do custo desta atividade, pois estender o uso da Tricorder, uma metodologia que automaticamente detecta defeitos em programas, sem a necessidade criar novos casos de teste e de oráculos.