A family of coverage criteria based on patterns to the test of metaprograms

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Antunes, Cleverton Hentz
Orientador(a): Moreira, Anamaria Martins
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/25054
Resumo: Apesar da existência de várias técnicas para a geração automática de dados de teste baseados em gramáticas, poucos trabalhos foram propostos no sentido de melhorar os dados de teste gerados aplicando restrições semânticas. Nesse sentido, contribuimos neste trabalho, nesta direção para o caso particular do teste de metaprogramas, um programa que tem como dado de entrada um outro programa. Atualmente, a alternativa natural para o teste deste tipo de programa é a técnica de testes baseados em gramáticas. Essa técnica de teste pode ser aplicada de maneira relativamente simples, porém com um custo de geração e execução do conjunto de testes elevado e uma efetividade baixa. Por outro lado, diversas pesquisas e ferramentas de grupos interessados no desenvolvimento de metaprogramas fazem uso intenso do recurso de casamento de padrões durante a sua implementação e especificação. Neste caso, os padrões oferecem uma fonte de informação interessante para a criação de testes que são sintaticamente válidos e também satisfazem restrições semânticas. Dada a limitação dos testes baseados em gramáticas e considerando a informação embutida nos padrões existentes nos metaprogramas, temos a oportunidade de contribuir para a melhoria do processo de teste para esses programas. Logo, o objetivo deste trabalho é avaliar o uso da informação de padrões para o teste de metaprogramas e com isso contribuir no seu processo de teste. No intuito de sistematizar o processo de teste de software, o documento apresenta um processo de design de teste e também uma família de critérios de cobertura baseados em padrões para o teste eficiente e sistematizado de metaprogramas baseados em padrões. São propostos quatro critérios de cobertura baseados em padrões e nos critérios de particionamento do espaço de entrada. Também é apresentada uma hierarquia entre os critérios propostos. Com isso, diferentes níveis de rigor podem ser requeridos no processo através da escolha do critério adequado. A validação dessas contribuições é feita através de um estudo de caso e uma validação empírica. O estudo de caso apresenta uma instanciação de referência para o processo de design de testes de um verificador de tipos implementado como metaprograma baseado em padrões. O verificador de tipos é testado usando um conjunto de testes gerados pelos critérios de cobertura baseados em padrões. A qualidade desse conjunto é avaliada utilizando a técnica de mutação e através da comparação dos resultados obtidos com testes gerados por critérios baseados em gramáticas. Os estudos experimentais indicam a efetividade da aplicação dos critérios baseados em padrões e o ganho em custo-benefício em relação aos critérios baseados em gramáticas no contexto do teste de metaprogramas baseados em padrões.
id UFRN_77e94bc62f70423f8364288f94ec2ad9
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/25054
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Antunes, Cleverton HentzMusicante, Martin AlejandroBorba, Paulo Henrique MonteiroGheyi, RohitCosta, Umberto Souza daMoreira, Anamaria Martins2018-04-12T23:44:18Z2018-04-12T23:44:18Z2017-12-15ANTUNES, Cleverton Hentz. A family of coverage criteria based on patterns to the test of metaprograms. 2017. 137f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.https://repositorio.ufrn.br/jspui/handle/123456789/25054Apesar da existência de várias técnicas para a geração automática de dados de teste baseados em gramáticas, poucos trabalhos foram propostos no sentido de melhorar os dados de teste gerados aplicando restrições semânticas. Nesse sentido, contribuimos neste trabalho, nesta direção para o caso particular do teste de metaprogramas, um programa que tem como dado de entrada um outro programa. Atualmente, a alternativa natural para o teste deste tipo de programa é a técnica de testes baseados em gramáticas. Essa técnica de teste pode ser aplicada de maneira relativamente simples, porém com um custo de geração e execução do conjunto de testes elevado e uma efetividade baixa. Por outro lado, diversas pesquisas e ferramentas de grupos interessados no desenvolvimento de metaprogramas fazem uso intenso do recurso de casamento de padrões durante a sua implementação e especificação. Neste caso, os padrões oferecem uma fonte de informação interessante para a criação de testes que são sintaticamente válidos e também satisfazem restrições semânticas. Dada a limitação dos testes baseados em gramáticas e considerando a informação embutida nos padrões existentes nos metaprogramas, temos a oportunidade de contribuir para a melhoria do processo de teste para esses programas. Logo, o objetivo deste trabalho é avaliar o uso da informação de padrões para o teste de metaprogramas e com isso contribuir no seu processo de teste. No intuito de sistematizar o processo de teste de software, o documento apresenta um processo de design de teste e também uma família de critérios de cobertura baseados em padrões para o teste eficiente e sistematizado de metaprogramas baseados em padrões. São propostos quatro critérios de cobertura baseados em padrões e nos critérios de particionamento do espaço de entrada. Também é apresentada uma hierarquia entre os critérios propostos. Com isso, diferentes níveis de rigor podem ser requeridos no processo através da escolha do critério adequado. A validação dessas contribuições é feita através de um estudo de caso e uma validação empírica. O estudo de caso apresenta uma instanciação de referência para o processo de design de testes de um verificador de tipos implementado como metaprograma baseado em padrões. O verificador de tipos é testado usando um conjunto de testes gerados pelos critérios de cobertura baseados em padrões. A qualidade desse conjunto é avaliada utilizando a técnica de mutação e através da comparação dos resultados obtidos com testes gerados por critérios baseados em gramáticas. Os estudos experimentais indicam a efetividade da aplicação dos critérios baseados em padrões e o ganho em custo-benefício em relação aos critérios baseados em gramáticas no contexto do teste de metaprogramas baseados em padrões.Although there are several techniques for the automatic generation of test data based on grammars, few studies have been proposed to improve the test data generated by applying semantic restrictions. In this sense, we intend to contribute in this direction for the particular case of testing metaprograms, programs that have other programs as input. Currently, the natural alternative to testing this kind of program is using the grammar-based testing. That testing technique can be applied relatively easily, but with high costs, related to the generation and execution of the test set, and low effectiveness. Many researches and tools dedicated to the development of metaprograms make heavy use of pattern matching for their implementation and specification. In this case, the patterns offer an interesting source of information for creating tests that are syntactically valid and also satisfy semantic constraints. Given the limitation of grammar-based testing and pattern information on the metaprograms, we identified an opportunity to contribute to the improvement of the testing process for these programs. Therefore, the goal of this work is to evaluate the use of pattern information for the testing of pattern-based metaprograms and thus contribute to their testing process. In order to systematize the software testing process, a family of coverage criteria based on patterns is proposed to test pattern-based metaprograms efficiently and systematically. Four pattern-based coverage criteria are proposed, they are based on classical input space partitioning combination criteria. Furthermore, a hierarchical relationship between the criteria is presented. Therefore, different levels of rigor can be required by choosing the appropriate criterion. The validation of these contributions is made using a case study and empirical validation. The case study presents a reference instantiation for the test design process applied to a type checker implemented as metaprogram based on patterns. The type checker is tested using a test set generated by the pattern-based coverage criteria, and the quality of this set is evaluated using the mutation technique. The results obtained are compared with those produced by a test set generated by the grammar-based criteria. The experimental studies indicate the effectiveness of the application of these patternbased criteria and a gain of cost-return in relation to the grammar-based coverage criteria.O Conselho Nacional de Desenvolvimento Científico e Tecnológico - CNPqporCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOTeste de softwareCritérios de cobertura de testeCasamento de padrõesMetaprogramasLinguagens formaisA family of coverage criteria based on patterns to the test of metaprogramsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALClevertonHentzAntunes_TESE.pdfClevertonHentzAntunes_TESE.pdfapplication/pdf942857https://repositorio.ufrn.br/bitstream/123456789/25054/1/ClevertonHentzAntunes_TESE.pdfc187c7606ee194e6451db85e005db476MD51TEXTClevertonHentzAntunes_TESE.pdf.txtClevertonHentzAntunes_TESE.pdf.txtExtracted texttext/plain289679https://repositorio.ufrn.br/bitstream/123456789/25054/2/ClevertonHentzAntunes_TESE.pdf.txtfcd4dc26c56193738213a124dd1e7015MD52THUMBNAILClevertonHentzAntunes_TESE.pdf.jpgClevertonHentzAntunes_TESE.pdf.jpgIM Thumbnailimage/jpeg2868https://repositorio.ufrn.br/bitstream/123456789/25054/3/ClevertonHentzAntunes_TESE.pdf.jpgd7e0fdcf2cc2ffebc8e9225364500ef5MD53123456789/250542019-01-29 18:21:27.457oai:https://repositorio.ufrn.br:123456789/25054Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2019-01-29T21:21:27Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv A family of coverage criteria based on patterns to the test of metaprograms
title A family of coverage criteria based on patterns to the test of metaprograms
spellingShingle A family of coverage criteria based on patterns to the test of metaprograms
Antunes, Cleverton Hentz
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Teste de software
Critérios de cobertura de teste
Casamento de padrões
Metaprogramas
Linguagens formais
title_short A family of coverage criteria based on patterns to the test of metaprograms
title_full A family of coverage criteria based on patterns to the test of metaprograms
title_fullStr A family of coverage criteria based on patterns to the test of metaprograms
title_full_unstemmed A family of coverage criteria based on patterns to the test of metaprograms
title_sort A family of coverage criteria based on patterns to the test of metaprograms
author Antunes, Cleverton Hentz
author_facet Antunes, Cleverton Hentz
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.referees1.none.fl_str_mv Musicante, Martin Alejandro
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees2.none.fl_str_mv Borba, Paulo Henrique Monteiro
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees3.none.fl_str_mv Gheyi, Rohit
dc.contributor.referees3ID.pt_BR.fl_str_mv
dc.contributor.referees4.none.fl_str_mv Costa, Umberto Souza da
dc.contributor.referees4ID.pt_BR.fl_str_mv
dc.contributor.author.fl_str_mv Antunes, Cleverton Hentz
dc.contributor.advisor1.fl_str_mv Moreira, Anamaria Martins
contributor_str_mv Moreira, Anamaria Martins
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Teste de software
Critérios de cobertura de teste
Casamento de padrões
Metaprogramas
Linguagens formais
dc.subject.por.fl_str_mv Teste de software
Critérios de cobertura de teste
Casamento de padrões
Metaprogramas
Linguagens formais
description Apesar da existência de várias técnicas para a geração automática de dados de teste baseados em gramáticas, poucos trabalhos foram propostos no sentido de melhorar os dados de teste gerados aplicando restrições semânticas. Nesse sentido, contribuimos neste trabalho, nesta direção para o caso particular do teste de metaprogramas, um programa que tem como dado de entrada um outro programa. Atualmente, a alternativa natural para o teste deste tipo de programa é a técnica de testes baseados em gramáticas. Essa técnica de teste pode ser aplicada de maneira relativamente simples, porém com um custo de geração e execução do conjunto de testes elevado e uma efetividade baixa. Por outro lado, diversas pesquisas e ferramentas de grupos interessados no desenvolvimento de metaprogramas fazem uso intenso do recurso de casamento de padrões durante a sua implementação e especificação. Neste caso, os padrões oferecem uma fonte de informação interessante para a criação de testes que são sintaticamente válidos e também satisfazem restrições semânticas. Dada a limitação dos testes baseados em gramáticas e considerando a informação embutida nos padrões existentes nos metaprogramas, temos a oportunidade de contribuir para a melhoria do processo de teste para esses programas. Logo, o objetivo deste trabalho é avaliar o uso da informação de padrões para o teste de metaprogramas e com isso contribuir no seu processo de teste. No intuito de sistematizar o processo de teste de software, o documento apresenta um processo de design de teste e também uma família de critérios de cobertura baseados em padrões para o teste eficiente e sistematizado de metaprogramas baseados em padrões. São propostos quatro critérios de cobertura baseados em padrões e nos critérios de particionamento do espaço de entrada. Também é apresentada uma hierarquia entre os critérios propostos. Com isso, diferentes níveis de rigor podem ser requeridos no processo através da escolha do critério adequado. A validação dessas contribuições é feita através de um estudo de caso e uma validação empírica. O estudo de caso apresenta uma instanciação de referência para o processo de design de testes de um verificador de tipos implementado como metaprograma baseado em padrões. O verificador de tipos é testado usando um conjunto de testes gerados pelos critérios de cobertura baseados em padrões. A qualidade desse conjunto é avaliada utilizando a técnica de mutação e através da comparação dos resultados obtidos com testes gerados por critérios baseados em gramáticas. Os estudos experimentais indicam a efetividade da aplicação dos critérios baseados em padrões e o ganho em custo-benefício em relação aos critérios baseados em gramáticas no contexto do teste de metaprogramas baseados em padrões.
publishDate 2017
dc.date.issued.fl_str_mv 2017-12-15
dc.date.accessioned.fl_str_mv 2018-04-12T23:44:18Z
dc.date.available.fl_str_mv 2018-04-12T23:44:18Z
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.citation.fl_str_mv ANTUNES, Cleverton Hentz. A family of coverage criteria based on patterns to the test of metaprograms. 2017. 137f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/25054
identifier_str_mv ANTUNES, Cleverton Hentz. A family of coverage criteria based on patterns to the test of metaprograms. 2017. 137f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.
url https://repositorio.ufrn.br/jspui/handle/123456789/25054
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/25054/1/ClevertonHentzAntunes_TESE.pdf
https://repositorio.ufrn.br/bitstream/123456789/25054/2/ClevertonHentzAntunes_TESE.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/25054/3/ClevertonHentzAntunes_TESE.pdf.jpg
bitstream.checksum.fl_str_mv c187c7606ee194e6451db85e005db476
fcd4dc26c56193738213a124dd1e7015
d7e0fdcf2cc2ffebc8e9225364500ef5
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1797777787424079872