Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina - Braga, Diego (2022)
Inteligência Artificial (IA) é um dos campos mais novos da ciência e engenharia. A grande quantidade de dados disponíveis tornou possível o desenvolvimento da Aprendizagem de Máquina (AM), disciplina de IA que é capaz de criar aplicações com a habilidade de se otimizar a partir da análise de dados. Sistemas de AM têm sido utilizados em cada vez mais domínios, mas apesar de sua crescente popularidade, a garantia de qualidade neste campo de IA ainda é um desafio. Para se buscar a qualidade de aplicações de AM são necessárias abordagens de Verificação, Validação e Teste (VV&T) de software capazes de detectar defeitos nesses tipos de software. Testes em sistemas de software de IA tendem a ser desafiadores pois estas aplicações geram resultados difíceis de se prever, alcançados a partir de algoritmos e modelos de aprendizado criados pelos próprios sistemas de software de AM. Dadas essas características, o uso de técnicas de teste que tratam tais sistemas de software como caixas-pretas e não precisam verificar suas saídas, tornam-se bem atrativas. A metodologia Tricorder demonstra ser promissora neste domínio como uma técnica de teste complementar às técnicas de teste já conhecidas, permitindo estender os testes aplicados sem que sejam necessários acessos ao código-fonte ou a criação de casos de teste tradicionais. A metodologia Tricorder utiliza dados de monitoramento para definir um perfil de desempenho da aplicação sendo monitorada. Ao criar o perfil de desempenho de uma nova versão desta mesma aplicação, a Tricorder é capaz de comparar os dois e acusar possíveis defeitos com base no uso de recursos do sistema computacional. Estes perfis de desempenho são criados com o agrupamento de dados de desempenho monitorados, seguindo a metodologia DAMICORE. Apesar de promissora, a metodologia Tricorder ainda se encontra em fase de desenvolvimento e validação, tendo sido proposta apenas nos últimos anos. O estudo reportado nesta dissertação analisa a aplicação da metodologia Tricorder em sistemas de AM. Este estudo verifica se Tricorder pode ser empregada como uma abordagem complementar de teste à detecção de defeitos inseridos em aplicações deste ramo de IA. Resultados dos experimentos demonstram que a Tricorder detectou automaticamente defeitos que não afetam as saídas das aplicações selecionadas, demonstrando ser eficaz nas condições definidas neste estudo. Estes resultados contribuem para o estado da arte de VV&T de aplicações de AM, por permitir que uma nova metodologia de teste complementar e automatizada possa ser empregada em um futuro próximo.