Spelling suggestions: "subject:"metaprograms"" "subject:"metaprogram""
1 |
A family of coverage criteria based on patterns to the test of metaprogramsAntunes, Cleverton Hentz 15 December 2017 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2018-04-11T19:36:14Z
No. of bitstreams: 1
ClevertonHentzAntunes_TESE.pdf: 1017090 bytes, checksum: f067305182409e4dcfb731ca7b2c95ca (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-04-12T23:44:18Z (GMT) No. of bitstreams: 1
ClevertonHentzAntunes_TESE.pdf: 1017090 bytes, checksum: f067305182409e4dcfb731ca7b2c95ca (MD5) / Made available in DSpace on 2018-04-12T23:44:18Z (GMT). No. of bitstreams: 1
ClevertonHentzAntunes_TESE.pdf: 1017090 bytes, checksum: f067305182409e4dcfb731ca7b2c95ca (MD5)
Previous issue date: 2017-12-15 / O Conselho Nacional de Desenvolvimento Cient?fico e Tecnol?gico - CNPq / 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. / 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.
|
Page generated in 0.3296 seconds