Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ

Detalhes bibliográficos
Autor(a) principal: Lemos, Otávio Augusto Lazzarini
Data de Publicação: 2009
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-20052009-095641/
Resumo: A Programação Orientada a Aspectos (POA) é uma técnica de desenvolvimento que apoia a separação de interesses transversais. Na POA, adendos são aplicados a pontos de junção do sistema por meio de uma construção especial chamada descritor de conjuntos de junção (ou simplesmente conjunto de junção). Esse mecanismo apoia a modularização de comportamentos transversais, entretanto, como as interações adicionadas não ficam explícitas no código-fonte, é difícil assegurar que estão corretas. Para lidar com esse problema, nesta tese é proposta uma abordagem rigorosa de teste estrutural de integração para programas orientados a aspectos. É definido um modelo de fluxo de controle e de dados baseado no bytecode Java chamado Grafo Def-Uso baseado em conjuntos de junção (ou PointCut-based Def-Use graph, PCDU) que modela as regiões de execução de um programa escrito em AspectJ que são afetadas por um conjunto de junção. Sobre este modelo são definidos três critérios de teste: todos-nós-baseados-em-conjunto-de-junção, todas-arestas-baseadas-em-conjunto-de-junção e todos-usos-baseados-em-conjunto-de-junção, que requerem a cobertura de todos os comandos, condicionais e pares def-uso no contexto de cada ponto de junção selecionado. Para automatizar o uso do modelo e critérios propostos, é implementada uma ferramenta chamada JaBUTi/PC-AJ. Além disso, para validar a abordagem proposta, são conduzidos estudos teóricos e experimentais que procuram avaliar os critérios tanto do ponto de vista do custo de aplicação quanto do ponto de vista da eficácia em encontrar defeitos. Os estudos oferecem indícios da aplicabilidade e da eficácia dos critérios para encontrar defeitos diretamente relacionados com a POA
id USP_3a0507dbb1436ff777e032deb6794c8c
oai_identifier_str oai:teses.usp.br:tde-20052009-095641
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJStructural integration testing of aspect-oriented programs: a pointcut-based approach for AspectJAspect-oriented programmingAspectJAspectJintegration testingJavaJavaProgramação orientada a aspectosSoftware testingStructural testingTeste de integraçãoTeste de programas orientados a aspectosTeste de softwareTeste estruturalTesting of aspect-oriented programsA Programação Orientada a Aspectos (POA) é uma técnica de desenvolvimento que apoia a separação de interesses transversais. Na POA, adendos são aplicados a pontos de junção do sistema por meio de uma construção especial chamada descritor de conjuntos de junção (ou simplesmente conjunto de junção). Esse mecanismo apoia a modularização de comportamentos transversais, entretanto, como as interações adicionadas não ficam explícitas no código-fonte, é difícil assegurar que estão corretas. Para lidar com esse problema, nesta tese é proposta uma abordagem rigorosa de teste estrutural de integração para programas orientados a aspectos. É definido um modelo de fluxo de controle e de dados baseado no bytecode Java chamado Grafo Def-Uso baseado em conjuntos de junção (ou PointCut-based Def-Use graph, PCDU) que modela as regiões de execução de um programa escrito em AspectJ que são afetadas por um conjunto de junção. Sobre este modelo são definidos três critérios de teste: todos-nós-baseados-em-conjunto-de-junção, todas-arestas-baseadas-em-conjunto-de-junção e todos-usos-baseados-em-conjunto-de-junção, que requerem a cobertura de todos os comandos, condicionais e pares def-uso no contexto de cada ponto de junção selecionado. Para automatizar o uso do modelo e critérios propostos, é implementada uma ferramenta chamada JaBUTi/PC-AJ. Além disso, para validar a abordagem proposta, são conduzidos estudos teóricos e experimentais que procuram avaliar os critérios tanto do ponto de vista do custo de aplicação quanto do ponto de vista da eficácia em encontrar defeitos. Os estudos oferecem indícios da aplicabilidade e da eficácia dos critérios para encontrar defeitos diretamente relacionados com a POAAspect-Oriented Programming (AOP) is a promising development technique that supports separation of crosscutting concerns. In AOP, advice is applied to join points in the system through a special construct called pointcut. This mechanism supports the modularization of crosscutting behavior; however, since the added interactions are not explicit in the source code, it is hard to ensure their correctness. To tackle this problem, this thesis proposes a rigorous structural testing approach for aspect-oriented programs. A control and data flow model based on Java bytecode the PointCut-based Def-Use Graph (PCDU) that models execution regions of a program affected by a pointcut is proposed. On top of this model three testing criteria are defined: all-pointcut-based-advice-nodes, all-pointcut-based-advice-edges, and all-pointcut-based-advice-uses, that require exercising all statements, branches and def-use pairs of each advice at the context of each affected join point. To automate the use of the proposed model and criteria, a tool named JaBUTi/PC-AJ is implemented. Moreover, to validate the proposed approach, both theoretical and experimental studies are presented. These studies provide evidence of the applicability and efficacy of the proposed criteriaBiblioteca Digitais de Teses e Dissertações da USPMasiero, Paulo CesarLemos, Otávio Augusto Lazzarini2009-04-15info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/55/55134/tde-20052009-095641/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/openAccesspor2016-07-28T16:09:59Zoai:teses.usp.br:tde-20052009-095641Biblioteca 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:27212016-07-28T16:09:59Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
Structural integration testing of aspect-oriented programs: a pointcut-based approach for AspectJ
title Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
spellingShingle Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
Lemos, Otávio Augusto Lazzarini
Aspect-oriented programming
AspectJ
AspectJ
integration testing
Java
Java
Programação orientada a aspectos
Software testing
Structural testing
Teste de integração
Teste de programas orientados a aspectos
Teste de software
Teste estrutural
Testing of aspect-oriented programs
title_short Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
title_full Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
title_fullStr Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
title_full_unstemmed Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
title_sort Teste estrutural de integração de programas orientados a aspectos: uma abordagem baseada em conjuntos de junção para AspectJ
author Lemos, Otávio Augusto Lazzarini
author_facet Lemos, Otávio Augusto Lazzarini
author_role author
dc.contributor.none.fl_str_mv Masiero, Paulo Cesar
dc.contributor.author.fl_str_mv Lemos, Otávio Augusto Lazzarini
dc.subject.por.fl_str_mv Aspect-oriented programming
AspectJ
AspectJ
integration testing
Java
Java
Programação orientada a aspectos
Software testing
Structural testing
Teste de integração
Teste de programas orientados a aspectos
Teste de software
Teste estrutural
Testing of aspect-oriented programs
topic Aspect-oriented programming
AspectJ
AspectJ
integration testing
Java
Java
Programação orientada a aspectos
Software testing
Structural testing
Teste de integração
Teste de programas orientados a aspectos
Teste de software
Teste estrutural
Testing of aspect-oriented programs
description A Programação Orientada a Aspectos (POA) é uma técnica de desenvolvimento que apoia a separação de interesses transversais. Na POA, adendos são aplicados a pontos de junção do sistema por meio de uma construção especial chamada descritor de conjuntos de junção (ou simplesmente conjunto de junção). Esse mecanismo apoia a modularização de comportamentos transversais, entretanto, como as interações adicionadas não ficam explícitas no código-fonte, é difícil assegurar que estão corretas. Para lidar com esse problema, nesta tese é proposta uma abordagem rigorosa de teste estrutural de integração para programas orientados a aspectos. É definido um modelo de fluxo de controle e de dados baseado no bytecode Java chamado Grafo Def-Uso baseado em conjuntos de junção (ou PointCut-based Def-Use graph, PCDU) que modela as regiões de execução de um programa escrito em AspectJ que são afetadas por um conjunto de junção. Sobre este modelo são definidos três critérios de teste: todos-nós-baseados-em-conjunto-de-junção, todas-arestas-baseadas-em-conjunto-de-junção e todos-usos-baseados-em-conjunto-de-junção, que requerem a cobertura de todos os comandos, condicionais e pares def-uso no contexto de cada ponto de junção selecionado. Para automatizar o uso do modelo e critérios propostos, é implementada uma ferramenta chamada JaBUTi/PC-AJ. Além disso, para validar a abordagem proposta, são conduzidos estudos teóricos e experimentais que procuram avaliar os critérios tanto do ponto de vista do custo de aplicação quanto do ponto de vista da eficácia em encontrar defeitos. Os estudos oferecem indícios da aplicabilidade e da eficácia dos critérios para encontrar defeitos diretamente relacionados com a POA
publishDate 2009
dc.date.none.fl_str_mv 2009-04-15
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 http://www.teses.usp.br/teses/disponiveis/55/55134/tde-20052009-095641/
url http://www.teses.usp.br/teses/disponiveis/55/55134/tde-20052009-095641/
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_ 1815257154450358272