DSpace/Manakin Repository

Uma abordagem para avaliar refatoramentos baseada no impacto da mudança.

Mostrar registro simples

dc.creator.ID SABINO, M. M. C. L. pt_BR
dc.creator.Lattes http://lattes.cnpq.br/7535849756393864 pt_BR
dc.contributor.advisor1 GHEYI, Rohit.
dc.contributor.advisor1ID GHEYI, R. pt_BR
dc.contributor.advisor1Lattes http://lattes.cnpq.br/2931270888717344 pt_BR
dc.contributor.referee1 FARIAS, Adalberto Cajueiro de.
dc.contributor.referee2 COELHO, Roberta de Souza.
dc.description.resumo 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. pt_BR
dc.publisher.country Brasil pt_BR
dc.publisher.department Centro de Engenharia Elétrica e Informática - CEEI pt_BR
dc.publisher.program PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO pt_BR
dc.publisher.initials UFCG pt_BR
dc.subject.cnpq Ciência da Computação. pt_BR
dc.title Uma abordagem para avaliar refatoramentos baseada no impacto da mudança. pt_BR
dc.date.issued 2013-03-11
dc.description.abstract 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. pt_BR
dc.identifier.uri http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1624
dc.date.accessioned 2018-08-31T23:21:36Z
dc.date.available 2018-08-31
dc.date.available 2018-08-31T23:21:36Z
dc.type Dissertação pt_BR
dc.subject Avaliação de refatoramentos pt_BR
dc.subject Impacto da mudança - software pt_BR
dc.subject Engenharia de software pt_BR
dc.subject Análise do impacto pt_BR
dc.subject Teste de programas pt_BR
dc.subject Teste de software pt_BR
dc.subject SafeRefactor pt_BR
dc.subject Software testing pt_BR
dc.rights Acesso Aberto pt_BR
dc.creator SABINO, Melina Mongiovi Cunha Lima.
dc.publisher Universidade Federal de Campina Grande pt_BR
dc.language por pt_BR
dc.title.alternative An approach to evaluate refactorings based on the impact of change. pt_BR
dc.description.sponsorship CNPq pt_BR
dc.identifier.citation SABINO, Melina Mongiovi Cunha Lima. Uma abordagem para avaliar refatoramentos baseada no impacto da mudança. 2013. 150f. (Dissertação de Mestrado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2013. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1624 pt_BR


Arquivos deste item

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Buscar DSpace


Busca avançada

Navegar

Minha conta