Modelo e critérios de teste estrutural para programas CUDA

Detalhes bibliográficos
Autor(a) principal: Luz, Helder Jefferson Ferreira da
Data de Publicação: 2023
Tipo de documento: Tese
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-20042023-104007/
Resumo: As GPUs têm sido amplamente utilizadas na computação de propósito geral para resolver problemas em diversas áreas. Para utilizar esses processadores, é necessário adotar modelos de programação paralela, como o CUDA, que visam simplificar o desenvolvimento de aplicações de propósito geral para serem executadas em GPUs. A despeito das facilidades trazidas por esse modelo, desenvolver aplicações com CUDA não é trivial. Além disso, os desenvolvedores possuem pouca experiência na programação de aplicações paralelas, ocasionando diversos tipos de defeitos. Apesar da necessidade de mitigar defeitos em aplicações CUDA, há poucos critérios de teste estrutural para revelar defeitos desse modelo de programação. Buscando melhorar a qualidade de programas concorrentes CUDA, foi definido um modelo e critérios de teste estrutural para apoiar a atividade de teste, auxiliando na seleção de casos de teste e propiciando a revelação de defeitos. Para validar o modelo e critérios de teste propostos, foi desenvolvido a ferramenta ValiCUDA, que realiza a instrumentação e análise do programa, gerando os elementos requeridos para cada critério de teste. A ferramenta permite executar os programas e avaliar a cobertura alcançada para cada critério. Para avaliar a aplicação dos critérios de teste, foi realizado um experimento com validação estatística, buscando averiguar as métricas de custo, eficácia e strength. No experimento foram inseridos defeitos com base em uma taxonomia de defeitos para avaliar a eficácia dos critérios. Os resultados demonstraram que os critérios de teste propostos são capazes de revelar defeitos em aplicações CUDA e podem auxiliar o testador na atividade de teste deste tipo de aplicação.
id USP_4fd25b4c6df24d629a7b627536962348
oai_identifier_str oai:teses.usp.br:tde-20042023-104007
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Modelo e critérios de teste estrutural para programas CUDAStructural Testing model and criteria for CUDA programsCUDA and GPUCUDA e GPUFerramenta de teste estrutural.Parallel programmingProgramação paralelaStructural software testingStructural testing criteriaStructural testing tool.Teste de software estrutural, Critérios de teste estruturalAs GPUs têm sido amplamente utilizadas na computação de propósito geral para resolver problemas em diversas áreas. Para utilizar esses processadores, é necessário adotar modelos de programação paralela, como o CUDA, que visam simplificar o desenvolvimento de aplicações de propósito geral para serem executadas em GPUs. A despeito das facilidades trazidas por esse modelo, desenvolver aplicações com CUDA não é trivial. Além disso, os desenvolvedores possuem pouca experiência na programação de aplicações paralelas, ocasionando diversos tipos de defeitos. Apesar da necessidade de mitigar defeitos em aplicações CUDA, há poucos critérios de teste estrutural para revelar defeitos desse modelo de programação. Buscando melhorar a qualidade de programas concorrentes CUDA, foi definido um modelo e critérios de teste estrutural para apoiar a atividade de teste, auxiliando na seleção de casos de teste e propiciando a revelação de defeitos. Para validar o modelo e critérios de teste propostos, foi desenvolvido a ferramenta ValiCUDA, que realiza a instrumentação e análise do programa, gerando os elementos requeridos para cada critério de teste. A ferramenta permite executar os programas e avaliar a cobertura alcançada para cada critério. Para avaliar a aplicação dos critérios de teste, foi realizado um experimento com validação estatística, buscando averiguar as métricas de custo, eficácia e strength. No experimento foram inseridos defeitos com base em uma taxonomia de defeitos para avaliar a eficácia dos critérios. Os resultados demonstraram que os critérios de teste propostos são capazes de revelar defeitos em aplicações CUDA e podem auxiliar o testador na atividade de teste deste tipo de aplicação.GPUs have been widely used in general-purpose computing to solve problems in various fields. CUDA programs can be used on these processors to allow the execution of generalpurpose applications on GPUs. Even with the facilities brought from this model, developing CUDA applications is not a trivial activity. Furthermore, developers have little experience with parallel programming, and this fact leads to several types of defects. Looking to improve CUDA applications quality, we defined a structural test model and criteria to support the test activity, helping in the test case selection and enabling the identification of defects. To validate the proposed test model and criteria, we developed the ValiCUDA tool, which instrument and analyze the program, generating required elements for each test criterion. The tool enables the program execution and assessment of the achieved coverage for each criterion. To evaluate the test criteria application, we performed a statistical validation experiment, looking for cost, effectiveness and strength metrics. In the experiment, we inserted defects based on a detect taxonomy to evaluate the criteria efficacy. The results showed that the proposed test criteria can identify defects in CUDA applications and can help the tester in the testing activity for this type of application.Biblioteca Digitais de Teses e Dissertações da USPSouza, Paulo Sergio Lopes deLuz, Helder Jefferson Ferreira da2023-03-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-20042023-104007/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:32:57Zoai:teses.usp.br:tde-20042023-104007Biblioteca 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:32:57Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Modelo e critérios de teste estrutural para programas CUDA
Structural Testing model and criteria for CUDA programs
title Modelo e critérios de teste estrutural para programas CUDA
spellingShingle Modelo e critérios de teste estrutural para programas CUDA
Luz, Helder Jefferson Ferreira da
CUDA and GPU
CUDA e GPU
Ferramenta de teste estrutural.
Parallel programming
Programação paralela
Structural software testing
Structural testing criteria
Structural testing tool.
Teste de software estrutural, Critérios de teste estrutural
title_short Modelo e critérios de teste estrutural para programas CUDA
title_full Modelo e critérios de teste estrutural para programas CUDA
title_fullStr Modelo e critérios de teste estrutural para programas CUDA
title_full_unstemmed Modelo e critérios de teste estrutural para programas CUDA
title_sort Modelo e critérios de teste estrutural para programas CUDA
author Luz, Helder Jefferson Ferreira da
author_facet Luz, Helder Jefferson Ferreira da
author_role author
dc.contributor.none.fl_str_mv Souza, Paulo Sergio Lopes de
dc.contributor.author.fl_str_mv Luz, Helder Jefferson Ferreira da
dc.subject.por.fl_str_mv CUDA and GPU
CUDA e GPU
Ferramenta de teste estrutural.
Parallel programming
Programação paralela
Structural software testing
Structural testing criteria
Structural testing tool.
Teste de software estrutural, Critérios de teste estrutural
topic CUDA and GPU
CUDA e GPU
Ferramenta de teste estrutural.
Parallel programming
Programação paralela
Structural software testing
Structural testing criteria
Structural testing tool.
Teste de software estrutural, Critérios de teste estrutural
description As GPUs têm sido amplamente utilizadas na computação de propósito geral para resolver problemas em diversas áreas. Para utilizar esses processadores, é necessário adotar modelos de programação paralela, como o CUDA, que visam simplificar o desenvolvimento de aplicações de propósito geral para serem executadas em GPUs. A despeito das facilidades trazidas por esse modelo, desenvolver aplicações com CUDA não é trivial. Além disso, os desenvolvedores possuem pouca experiência na programação de aplicações paralelas, ocasionando diversos tipos de defeitos. Apesar da necessidade de mitigar defeitos em aplicações CUDA, há poucos critérios de teste estrutural para revelar defeitos desse modelo de programação. Buscando melhorar a qualidade de programas concorrentes CUDA, foi definido um modelo e critérios de teste estrutural para apoiar a atividade de teste, auxiliando na seleção de casos de teste e propiciando a revelação de defeitos. Para validar o modelo e critérios de teste propostos, foi desenvolvido a ferramenta ValiCUDA, que realiza a instrumentação e análise do programa, gerando os elementos requeridos para cada critério de teste. A ferramenta permite executar os programas e avaliar a cobertura alcançada para cada critério. Para avaliar a aplicação dos critérios de teste, foi realizado um experimento com validação estatística, buscando averiguar as métricas de custo, eficácia e strength. No experimento foram inseridos defeitos com base em uma taxonomia de defeitos para avaliar a eficácia dos critérios. Os resultados demonstraram que os critérios de teste propostos são capazes de revelar defeitos em aplicações CUDA e podem auxiliar o testador na atividade de teste deste tipo de aplicação.
publishDate 2023
dc.date.none.fl_str_mv 2023-03-01
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-20042023-104007/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-20042023-104007/
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_ 1815257153879932928