Teste de pares de arestas: automatização e experimentação
| Main Author: | |
|---|---|
| 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 |