Modelo e critérios de teste estrutural para programas CUDA
Autor(a) principal: | |
---|---|
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 |