Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da USP |
Texto Completo: | https://www.teses.usp.br/teses/disponiveis/55/55134/tde-09112022-160513/ |
Resumo: | 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. |
id |
USP_1305e6805a6d2c217026149d7ac2ab5d |
---|---|
oai_identifier_str |
oai:teses.usp.br:tde-09112022-160513 |
network_acronym_str |
USP |
network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
repository_id_str |
2721 |
spelling |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquinaAssessing the Use of Performance Data Clustering for Supporting Software Testing in the Machine Learning DomainAgrupamento de dadosAprendizagem de máquinaData groupingMachine learningMonitoração de desempenhoPerformance monitoringSoftware testingTeste de softwareInteligê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.Artificial Intelligence (AI) is one of the newest fields in science and engineering. Large amounts of available data made it possible to develop Machine Learning (ML), the AI discipline capable of creating applications that can optimize themselves through data analysis. Due to their capabilities, ML software has been used in more and more domains, but quality assurance in this field of AI still is a challenge despite its growing popularity. For quality assurance of ML applications, it is necessary to find software Verification, Validation, and Test (VV&T) approaches capable of detecting defects in this type of software. Tests in AI software tend to be challenging because these applications have the characteristic of generating results that are difficult to predict, calculated by algorithms and learning models created by the ML software itself. Due to these characteristics, the use of test techniques that treat these software as black boxes and do not require checking their outputs, become very attractive. The Tricorder methodology is promising as a complementary technique for already known software testing approaches, allowing the extension of tests without requiring access to the source code or creating traditional test cases. The Tricorder methodology uses monitoring data to define a performance profile of the application being monitored. When creating the performance profile of a new version of the same application, Tricorder can compare the two and point out possible defects based on the resource usage of the computational system. These performance profiles are created by grouping monitored performance data, following the DAMICORE methodology. Although promising, the Tricorder methodology is still under development and validation, having been proposed only in recent years. This study analyzes the behavior of the Tricorder methodology when applied in systems based in ML, generating data that shows if it can be employed as a complementary approach for the detection of defects in applications of this AI field. The results obtained demonstrate that the methodology was able to achieve great results in the conditions stablished in this study, being able to detect defects that do not affect the outputs of the selected projects. These results contribute to the state of the art of VV&T of ML applications, by proposing a new, complementary and automatic methodology that could be employed in a close future.Biblioteca Digitais de Teses e Dissertações da USPSouza, Paulo Sergio Lopes deBraga, Diego2022-09-14info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-09112022-160513/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2022-11-09T18:07:16Zoai:teses.usp.br:tde-09112022-160513Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212022-11-09T18:07:16Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
dc.title.none.fl_str_mv |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina Assessing the Use of Performance Data Clustering for Supporting Software Testing in the Machine Learning Domain |
title |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
spellingShingle |
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 Agrupamento de dados Aprendizagem de máquina Data grouping Machine learning Monitoração de desempenho Performance monitoring Software testing Teste de software |
title_short |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
title_full |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
title_fullStr |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
title_full_unstemmed |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
title_sort |
Avaliação do uso de agrupamento de dados de desempenho para apoiar o teste de software no domínio de aprendizagem de máquina |
author |
Braga, Diego |
author_facet |
Braga, Diego |
author_role |
author |
dc.contributor.none.fl_str_mv |
Souza, Paulo Sergio Lopes de |
dc.contributor.author.fl_str_mv |
Braga, Diego |
dc.subject.por.fl_str_mv |
Agrupamento de dados Aprendizagem de máquina Data grouping Machine learning Monitoração de desempenho Performance monitoring Software testing Teste de software |
topic |
Agrupamento de dados Aprendizagem de máquina Data grouping Machine learning Monitoração de desempenho Performance monitoring Software testing Teste de software |
description |
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. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-09-14 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-09112022-160513/ |
url |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-09112022-160513/ |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
|
dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.none.fl_str_mv |
|
dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
instname_str |
Universidade de São Paulo (USP) |
instacron_str |
USP |
institution |
USP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
collection |
Biblioteca Digital de Teses e Dissertações da USP |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
_version_ |
1815256846062059520 |