Spelling suggestions: "subject:"deste dde programas"" "subject:"deste dee programas""
11 |
Teste de composição de web services: uma estratégia baseada em um modelo de teste de programas paralelos / Web services composition testing: a strategy based on a test model of parallel programsEndo, André Takeshi 17 April 2008 (has links)
WEb Services constituem uma tecnologia emergente utilizada para disponibilização de serviços na Web. Devido aos complexos processos de negócio existentes, esses serviços são combinados para que operem seguindo um fluxo de trabalho. Esse processo é chamado de composição de Web Services. Como no processo de desenvolvimento de um software tradicional, a atividade de teste é fundamental no processo de desenvolvimento da composição de Web Services. Neste trabalho é proposta uma estratégia de teste para a composição de Web Services, em que especificações de composições são transformadas para um modelo de teste de programas paralelos baseados em passagem de mensagens. É proposto o conceito de grupos de elementos requeridos para melhorar a cobertura dos critérios. Uma ferramenta de apoio à estratégia de teste foi desenvolvida. Alguns estudos experimentais para avaliar a aplicabilidade da estratégia proposta também são apresentados. Além disso, é proposto um método que utiliza redes de Petri para eliminar sincronizações não-executáveis no envio e recebimento de mensagens / WEb Services constitute an emerging technology for deploying services in the Web. Due to the complex business processes, these services are combined to operate, following a workflow. This process is named Web Services Composition. As in the development process of a traditional software, the testing activity is fundamental in the development process of Web Services Composition. This work proposes a test strategy for Web Services Composition, in that composition specifications are transformed into a test model of message-passing parallel programs. The concept of required elements groups is proposed to improve the criteria coverage. A tool that supports the test strategy was developed. Some experimental studies for evaluating the applicability of proposed strategy are also presented. Furthermore, it presents a method that uses Petri Nets to eliminate non-executable synchronizations in the sending and receiving of messages
|
12 |
Uma abordagem para avaliar refatoramentos baseada no impacto da mudança. / An approach to evaluate refactorings based on the impact of change.SABINO, Melina Mongiovi Cunha Lima. 31 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-31T23:21:36Z
No. of bitstreams: 1
MELINA MANGIOVI CUNHA LIMA SABINO - PPGCC DISSERTAÇÃO 2013..pdf: 29220438 bytes, checksum: 42486beccb60e73d444ba221ab430942 (MD5) / Made available in DSpace on 2018-08-31T23:21:36Z (GMT). No. of bitstreams: 1
MELINA MANGIOVI CUNHA LIMA SABINO - PPGCC DISSERTAÇÃO 2013..pdf: 29220438 bytes, checksum: 42486beccb60e73d444ba221ab430942 (MD5)
Previous issue date: 2013-03-11 / CNPq / Refatoramentos são transformações que melhoram a estrutura interna do programa preservando seu comportamento observável. Na prática, desenvolvedores utilizam testes de regressão e ferramentas para garantir que o refatoramento preservou o comportamento do programa. Entretanto, ferramentas de refatoramentos possuem bugs. Além disso, a coleção de testes pode ser modificada pela transformação aplicada manualmente ou pela ferramenta. Se a transformação não for aplicada corretamente, esta pode modificar a coleção de testes incapacitando-a de detectar a mudança comportamental. Por fim, a coleção pode não ser adequada para testar a transformação, pois os casos de testes podem não exercitar as entidades impactadas pela transformação. Este problema se torna maior se a coleção de testes for grande, tornando a execução de toda a coleção de testes custosa. Nós propomos uma abordagem para avaliar preservação de comportamento em refatoramentos baseada em geração
automática de testes e análise de impacto da mudança. A abordagem analisa o impacto
da mudança e gera automaticamente testes apenas para os métodos impactados pela transformação. Implementamos uma ferramenta chamada SafeRefactorlmpact para avaliar a preservação de comportamento. Esta utiliza Safira, ferramenta que implementamos para realizar a análise de impacto. Avaliamos SafeRefactorlmpact em um conjunto de 10 transformações aplicadas a um sistema real, e em uma técnica para testar implementações de refatoramentos. Além disso, comparamos SafeRefactorlmpact com SafeRefactor, uma ferramenta que também avalia preservação de comportamento em refatoramentos mas não utiliza análise de impacto. Nós comparamos com relação às mudanças comportamentais identificadas, quantidade de métodos identificados para geração de testes, tempo total da análise da transformação, quantidade de casos de testes gerados e cobertura da mudança dos testes gerados. O SafeRefactorlmpact conseguiu identificar mudanças comportamentais não identificadas pelo SafeRefactor, reduziu em torno de 60% o tempo para testar implementações de refatoramentos, mostrou-se menos sensível ao tempo limite passado para o gerador automático de
testes, além da análise de impacto permitir a diminuição de algumas limitações do gerador
automático de testes enfrentadas pelo SafeRefactor. / Refactorings are transformations that improve the internal structure of the program while
preserving its observable behavior. In practice, developers use regression tests and refactoring tools to ensure that the refactoring has preserved the behavior of the program. However, refactoring tools may have bugs. In addition, the test suite may be modified by the transformation applied manually or using a refactoring tool. If the transformation is applied incorrectly, it can change the test suite by disabling it to detect the behavioral change. Finally, the test suite may be inappropriate to test the transformation because the test cases may not exercise the change. This problem can get worse if the test suite is large. This way, it is time consuming executing the entire test suite. We propose an approach for evaluating whether a transformation is behavior preserving based on change impact analysis. This approach performs a change impact analysis and it automatically generates tests only to the methods impacted by the transformation. We implemented a tool called SafeRefactorlmpact to evaluate behavior preservation. It uses Safira, a tool that we implemented to identify the methods impacted by a change in the program. We evaluate SafeRefactorlmpact in a set of 10 transformations applied to a real system and to a technique to test refactoring implementations. Moreover, we compared the SafeRefactorlmpact with SafeRefactor, a tool that also evaluates whether a transformation preserves the program behavior. The difference is that SafeRefactor does not use the impact analysis. The SafeRefactorlmpact managed to identify behavioral changes not identified by SafeRefactor; it reduced in 60% the total time to analyze the refactoring implementations; it showed to be less sensitive to the time limit to generate the tests; and the impact analysis allows the reduction of some limitations of the automatic tests generator faced by the SafeRefactor.
|
13 |
Teste de composição de web services: uma estratégia baseada em um modelo de teste de programas paralelos / Web services composition testing: a strategy based on a test model of parallel programsAndré Takeshi Endo 17 April 2008 (has links)
WEb Services constituem uma tecnologia emergente utilizada para disponibilização de serviços na Web. Devido aos complexos processos de negócio existentes, esses serviços são combinados para que operem seguindo um fluxo de trabalho. Esse processo é chamado de composição de Web Services. Como no processo de desenvolvimento de um software tradicional, a atividade de teste é fundamental no processo de desenvolvimento da composição de Web Services. Neste trabalho é proposta uma estratégia de teste para a composição de Web Services, em que especificações de composições são transformadas para um modelo de teste de programas paralelos baseados em passagem de mensagens. É proposto o conceito de grupos de elementos requeridos para melhorar a cobertura dos critérios. Uma ferramenta de apoio à estratégia de teste foi desenvolvida. Alguns estudos experimentais para avaliar a aplicabilidade da estratégia proposta também são apresentados. Além disso, é proposto um método que utiliza redes de Petri para eliminar sincronizações não-executáveis no envio e recebimento de mensagens / WEb Services constitute an emerging technology for deploying services in the Web. Due to the complex business processes, these services are combined to operate, following a workflow. This process is named Web Services Composition. As in the development process of a traditional software, the testing activity is fundamental in the development process of Web Services Composition. This work proposes a test strategy for Web Services Composition, in that composition specifications are transformed into a test model of message-passing parallel programs. The concept of required elements groups is proposed to improve the criteria coverage. A tool that supports the test strategy was developed. Some experimental studies for evaluating the applicability of proposed strategy are also presented. Furthermore, it presents a method that uses Petri Nets to eliminate non-executable synchronizations in the sending and receiving of messages
|
14 |
Teste de programas orientados a aspectos: uma abordagem estrutural para AspectJ / Testing aspect-oriented programs: a structural approach for AspectJLemos, Otávio Augusto Lazzarini 04 February 2005 (has links)
Em meados dos anos 90, alguns pesquisadores constataram a existência de certos interesses que, independente da técnica de programação utilizada ou da maneira como o sistema venha a ser decomposto, não se encaixam em módulos individuais, mas ficam espalhados por várias unidades do software (também chamados de interesses transversais). A programação orientada a aspectos (POA) foi concebida como uma proposta de resolução desse problema, a partir do uso de mecanismos que permitem o isolamento dos interesses transversais. Entretanto, por ser uma técnica nova, nesses primeiros anos os pesquisadores preocuparam-se em estabelecer os conceitos e técnicas básicos das linguagens orientadas a aspectos, deixando para uma segunda fase a investigação de outras características do desenvolvimento de programas orientados a aspectos, como métodos de projeto e abordagens de teste. Nesta dissertação é apresentada uma abordagem de teste estrutural para programas orientados a aspectos baseados na linguagem AspectJ, que pode contribuir para o aumento da confiança no software desenvolvido utilizando essa técnica e auxiliar o entendimento das novas construções e comportamentos envolvidos nesses programas. Modelos de fluxo de controle e de dados baseados no código-objeto resultante da compilação/ combinação de programas escritos na linguagem AspectJ são propostos, bem como nove critérios de teste baseados nesses modelos. Uma ferramenta desenvolvida para apoiar o teste estrutural de unidade de programas Java foi estendida para dar apoio aos modelos e critérios propostos nesta dissertação. Além disso, algumas propriedades do teste de integração de programas orientados a aspectos são discutidas teoricamente.
|
15 |
Teste de programas orientados a aspectos: uma abordagem estrutural para AspectJ / Testing aspect-oriented programs: a structural approach for AspectJOtávio Augusto Lazzarini Lemos 04 February 2005 (has links)
Em meados dos anos 90, alguns pesquisadores constataram a existência de certos interesses que, independente da técnica de programação utilizada ou da maneira como o sistema venha a ser decomposto, não se encaixam em módulos individuais, mas ficam espalhados por várias unidades do software (também chamados de interesses transversais). A programação orientada a aspectos (POA) foi concebida como uma proposta de resolução desse problema, a partir do uso de mecanismos que permitem o isolamento dos interesses transversais. Entretanto, por ser uma técnica nova, nesses primeiros anos os pesquisadores preocuparam-se em estabelecer os conceitos e técnicas básicos das linguagens orientadas a aspectos, deixando para uma segunda fase a investigação de outras características do desenvolvimento de programas orientados a aspectos, como métodos de projeto e abordagens de teste. Nesta dissertação é apresentada uma abordagem de teste estrutural para programas orientados a aspectos baseados na linguagem AspectJ, que pode contribuir para o aumento da confiança no software desenvolvido utilizando essa técnica e auxiliar o entendimento das novas construções e comportamentos envolvidos nesses programas. Modelos de fluxo de controle e de dados baseados no código-objeto resultante da compilação/ combinação de programas escritos na linguagem AspectJ são propostos, bem como nove critérios de teste baseados nesses modelos. Uma ferramenta desenvolvida para apoiar o teste estrutural de unidade de programas Java foi estendida para dar apoio aos modelos e critérios propostos nesta dissertação. Além disso, algumas propriedades do teste de integração de programas orientados a aspectos são discutidas teoricamente.
|
16 |
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 AspectJLemos, Otávio Augusto Lazzarini 15 April 2009 (has links)
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 / Aspect-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 criteria
|
17 |
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 AspectJOtávio Augusto Lazzarini Lemos 15 April 2009 (has links)
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 / Aspect-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 criteria
|
Page generated in 0.059 seconds