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

Detalhes bibliográficos
Autor(a) principal: Durães, Thiago de Jesus Oliveira
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-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.
id USP_f89458851147a660b7bbd43a8e466b25
oai_identifier_str oai:teses.usp.br:tde-05042023-144747
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 perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação. Evaluating the use of performance profiles applied in software testing in different application domainsAgrupamentoAprendizado de máquina não supervisionado.GroupingMonitoraçãoMonitoringPerfis de desempenhoPerformance profilesSoftware testingTeste de softwareUnsupervised machine learningO 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.The software development process is a complex task, supported by software engineering. Despite the evolution of software engineering, systems still fail due to defects inserted in the development. Software testing attempts to reveal defects using well-known testing techniques, which are usually based on functional requirements of the systems. Non-functional requirements, such as resource usage, can also be used in testing, as they point out unexpected processor, memory, and input/output usage behaviors. The Tricorder test methodology, under development at ICMC/USP, groups performance profiles (resource usage) in order to automate the detection of anomalous behavior patterns in software systems. Tricorder, which works in a complementary way to the tests already carried out on the system, uses unsupervised machine learning algorithms, and has already been successfully evaluated in the detection of functional defects in applications that process data streams. The main objective of this project is to extend the evaluation of the Tricorder test methodology in other application domains than just the processing of data streams. It is expected, in reaching this main objective, to identify possible adjustments in the Tricorder methodology that can improve its automation, effectiveness and efficiency. The methodology used in this project considered four different experiments to reveal defects in cryptography systems, ordering methods, video processing and fluid simulations. The defects analyzed were based on existing defect taxonomies in the literature and, whenever possible, real defects reported by their developers were used. The metrics used in the evaluations considered the ability to reveal defects and the number of false positives and false negatives. The results of the experiments show that Tricorder is able to successfully reveal software defects in the analyzed application domains, for the vast majority of defected executions. This work contributes to the software testing activity, in particular to the cost reduction of this activity, as it extends the use of Tricorder, a methodology that automatically detects defects in programs, without the need to create new test cases and oracles.Biblioteca Digitais de Teses e Dissertações da USPSouza, Paulo Sergio Lopes deDurães, Thiago de Jesus Oliveira2022-10-06info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-05042023-144747/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/openAccesspor2023-05-11T13:15:57Zoai:teses.usp.br:tde-05042023-144747Biblioteca 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:27212023-05-11T13:15:57Biblioteca 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 perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
. Evaluating the use of performance profiles applied in software testing in different application domains
title Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
spellingShingle Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
Durães, Thiago de Jesus Oliveira
Agrupamento
Aprendizado de máquina não supervisionado.
Grouping
Monitoração
Monitoring
Perfis de desempenho
Performance profiles
Software testing
Teste de software
Unsupervised machine learning
title_short Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
title_full Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
title_fullStr Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
title_full_unstemmed Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
title_sort Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
author Durães, Thiago de Jesus Oliveira
author_facet Durães, Thiago de Jesus Oliveira
author_role author
dc.contributor.none.fl_str_mv Souza, Paulo Sergio Lopes de
dc.contributor.author.fl_str_mv Durães, Thiago de Jesus Oliveira
dc.subject.por.fl_str_mv Agrupamento
Aprendizado de máquina não supervisionado.
Grouping
Monitoração
Monitoring
Perfis de desempenho
Performance profiles
Software testing
Teste de software
Unsupervised machine learning
topic Agrupamento
Aprendizado de máquina não supervisionado.
Grouping
Monitoração
Monitoring
Perfis de desempenho
Performance profiles
Software testing
Teste de software
Unsupervised machine learning
description 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.
publishDate 2022
dc.date.none.fl_str_mv 2022-10-06
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-05042023-144747/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-05042023-144747/
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_ 1815256690188091392