Teste de pares de arestas: automatização e experimentação

Bibliographic Details
Main Author: Silva, Matheus Soares
Publication Date: 2023
Format: Master thesis
Language: por
Source: Biblioteca Digital de Teses e Dissertações da USP
Download full: https://www.teses.usp.br/teses/disponiveis/100/100131/tde-07022024-233852/
Summary: A técnica de teste estrutural é extensamente utilizada para detectar falhas em software. Porém, sem apoio automatizado é impossível sua utilização em programas desenvolvidos na indústria. O teste estrutural é realizado por meio de critérios de teste com base na cobertura de código do programa. O código do programa é comumente abstraído na forma de um grafo e a cobertura de código baseada em fluxo de controle é determinada em termos de elementos do grafo (e. g., nós e arestas). O critério de cobertura todos os pares de arestas é relativamente recente quando comparado com os critérios todos os nós e todas as arestas. Estudos apontam que o critério todos os pares de arestas apresenta uma eficácia promissora na detecção de falhas. Há diversas ferramentas de apoio à aplicação de critérios de teste estruturais, contudo, que seja de nosso conhecimento, o critério todos os pares de arestas não é apoiado por nenhuma. Este trabalho apresenta uma nova abordagem para rastrear pares de arestas com base em operações bit a bit que também é aplicável a nós e arestas. A nova abordagem foi implementada em uma ferramenta para rastreamento de nós, arestas e pares de arestas em tempo de execução. Dados experimentais indicam que todos os pares de arestas adicionam novos caminhos a serem testados a um custo de rastreamento indistinguível em comparação com os critérios todos os nós ou todas as arestas, usando operações bit a bit. Além disso, o custo da nova abordagem bit-a-bit é comparável ao custo de ferramentas utilizadas na indústria que rastreiam nós e arestas
id USP_f46ac215e40dceefcb93a1fcdf38b78d
oai_identifier_str oai:teses.usp.br:tde-07022024-233852
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Teste de pares de arestas: automatização e experimentaçãoEdge-pair testing: automation and experimentCode coverageControl flow testingEdge-pairsEmpirical studyEstratégia de instrumentaçãoEstudo experimentalInstrumentation strategyPares de arestasSoftware testingStructural testingTeste baseado em fluxo de controleTeste de softwareTeste estruturalA técnica de teste estrutural é extensamente utilizada para detectar falhas em software. Porém, sem apoio automatizado é impossível sua utilização em programas desenvolvidos na indústria. O teste estrutural é realizado por meio de critérios de teste com base na cobertura de código do programa. O código do programa é comumente abstraído na forma de um grafo e a cobertura de código baseada em fluxo de controle é determinada em termos de elementos do grafo (e. g., nós e arestas). O critério de cobertura todos os pares de arestas é relativamente recente quando comparado com os critérios todos os nós e todas as arestas. Estudos apontam que o critério todos os pares de arestas apresenta uma eficácia promissora na detecção de falhas. Há diversas ferramentas de apoio à aplicação de critérios de teste estruturais, contudo, que seja de nosso conhecimento, o critério todos os pares de arestas não é apoiado por nenhuma. Este trabalho apresenta uma nova abordagem para rastrear pares de arestas com base em operações bit a bit que também é aplicável a nós e arestas. A nova abordagem foi implementada em uma ferramenta para rastreamento de nós, arestas e pares de arestas em tempo de execução. Dados experimentais indicam que todos os pares de arestas adicionam novos caminhos a serem testados a um custo de rastreamento indistinguível em comparação com os critérios todos os nós ou todas as arestas, usando operações bit a bit. Além disso, o custo da nova abordagem bit-a-bit é comparável ao custo de ferramentas utilizadas na indústria que rastreiam nós e arestasStructural testing is widely used to detect software failures and to assess test suites quality. Without automated support, though, its use on programs developed at industrial settings is hardly feasible. Structural testing is carried out by means of test criteria based on program code coverage. Program code is usually abstracted into a graph, and control flow-based code coverage is determined in terms of graph elements (e.g., nodes and edges). All edge-pairs is a relatively recent criterion when compared to all nodes and all edges criteria. Studies indicate that all edge-pairs shows promising results at detecting failures. There are several tools to support the application of structural test criteria, however, to the best of our knowledge, none of them supports the all edge-pairs criterion. We present a novel approach to track edge-pairs based on bit-wise operations that are also applicable to nodes and edges. The new approach was integrated into a tool for tracking nodes, edges and edge-pairs at runtime. Empirical data suggest that all edge-pairs adds new paths to be tested at a tracking cost is indistinguishable in comparison to criteria all nodes or all edges, using bit-wise operations. Furthermore, the cost of the novel bit-wise approach is comparable to the cost of production-grade tools that track nodes and edgesBiblioteca Digitais de Teses e Dissertações da USPChaim, Marcos LordelloSilva, Matheus Soares2023-12-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/100/100131/tde-07022024-233852/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/openAccesspor2025-02-19T17:16:02Zoai:teses.usp.br:tde-07022024-233852Biblioteca 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:27212025-02-19T17:16:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Teste de pares de arestas: automatização e experimentação
Edge-pair testing: automation and experiment
title Teste de pares de arestas: automatização e experimentação
spellingShingle Teste de pares de arestas: automatização e experimentação
Silva, Matheus Soares
Code coverage
Control flow testing
Edge-pairs
Empirical study
Estratégia de instrumentação
Estudo experimental
Instrumentation strategy
Pares de arestas
Software testing
Structural testing
Teste baseado em fluxo de controle
Teste de software
Teste estrutural
title_short Teste de pares de arestas: automatização e experimentação
title_full Teste de pares de arestas: automatização e experimentação
title_fullStr Teste de pares de arestas: automatização e experimentação
title_full_unstemmed Teste de pares de arestas: automatização e experimentação
title_sort Teste de pares de arestas: automatização e experimentação
author Silva, Matheus Soares
author_facet Silva, Matheus Soares
author_role author
dc.contributor.none.fl_str_mv Chaim, Marcos Lordello
dc.contributor.author.fl_str_mv Silva, Matheus Soares
dc.subject.por.fl_str_mv Code coverage
Control flow testing
Edge-pairs
Empirical study
Estratégia de instrumentação
Estudo experimental
Instrumentation strategy
Pares de arestas
Software testing
Structural testing
Teste baseado em fluxo de controle
Teste de software
Teste estrutural
topic Code coverage
Control flow testing
Edge-pairs
Empirical study
Estratégia de instrumentação
Estudo experimental
Instrumentation strategy
Pares de arestas
Software testing
Structural testing
Teste baseado em fluxo de controle
Teste de software
Teste estrutural
description A técnica de teste estrutural é extensamente utilizada para detectar falhas em software. Porém, sem apoio automatizado é impossível sua utilização em programas desenvolvidos na indústria. O teste estrutural é realizado por meio de critérios de teste com base na cobertura de código do programa. O código do programa é comumente abstraído na forma de um grafo e a cobertura de código baseada em fluxo de controle é determinada em termos de elementos do grafo (e. g., nós e arestas). O critério de cobertura todos os pares de arestas é relativamente recente quando comparado com os critérios todos os nós e todas as arestas. Estudos apontam que o critério todos os pares de arestas apresenta uma eficácia promissora na detecção de falhas. Há diversas ferramentas de apoio à aplicação de critérios de teste estruturais, contudo, que seja de nosso conhecimento, o critério todos os pares de arestas não é apoiado por nenhuma. Este trabalho apresenta uma nova abordagem para rastrear pares de arestas com base em operações bit a bit que também é aplicável a nós e arestas. A nova abordagem foi implementada em uma ferramenta para rastreamento de nós, arestas e pares de arestas em tempo de execução. Dados experimentais indicam que todos os pares de arestas adicionam novos caminhos a serem testados a um custo de rastreamento indistinguível em comparação com os critérios todos os nós ou todas as arestas, usando operações bit a bit. Além disso, o custo da nova abordagem bit-a-bit é comparável ao custo de ferramentas utilizadas na indústria que rastreiam nós e arestas
publishDate 2023
dc.date.none.fl_str_mv 2023-12-12
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/100/100131/tde-07022024-233852/
url https://www.teses.usp.br/teses/disponiveis/100/100131/tde-07022024-233852/
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_ 1839839029077475328