Avaliação do uso de perfis de desempenho aplicados no teste e software em diferentes domínios de aplicação
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-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 |