Fechar

Defesa de Tese de Doutorado da aluna Ana Carla Gomes Bibiano.

Defesa de Tese de Doutorado da aluna  Ana Carla Gomes Bibiano.

Título da tese: On the Completeness of Composite Code Refactorings for Beneficial Smell Removal. 

Resumo: Code smells são problemas na qualidade estrutural interna. Refatoração é uma técnica comumente usada para remover code smells. Uma única refatoração é uma transformação simples que raramente é suficiente para ajudar os desenvolvedores a obter a remoção total de um code smell. Assim, os desenvolvedores freqüentemente aplicam refatorações compostas com o objetivo de remover completamente um code smell. Uma refatoração composta é formada por duas ou mais transformações de refatoração. Estudos relatam que desenvolvedores muitas vezes falham ao remover completamente code smells quando aplicam refatorações compostas. Uma refatoração composta é completa quando remove totalmente um code smell alvo da refatoração, caso contrário, é considerada incompleta. Uma vez que refatorações compostas são formadas por várias transformações de refatoração; eles podem degradar inadvertidamente outras partes do sistema de software. Por exemplo, mesmo uma refatoração composta completa pode introduzir outros code smells enquanto remove o code smell alvo da refatoração. No entanto, a literatura sobre refatorações compostas (in)completas e seus efeitos na qualidade estrutural é bastante escassa. A falta de conhecimento empírico dificulta a criação de sistemas de recomendação de refatorações para auxiliar adequadamente os desenvolvedores na realização de refatorações compostas completas eficazes, ou seja, transformações de código sem efeitos colaterais. Esta pesquisa de doutorado investiga como conceituar a (in)completude composta e quais são as refatorações compostas completas que podem remover totalmente code smells em um escopo de código específico. Investigamos 618 refatorações compostas em 20 sistemas de software. Descobrimos que 58% das refatorações compostas incompletas não degradaram a qualidade estrutural interna, e 64% das refatorações compostas completas são formadas por tipos de refatoração que não eram recomendados anteriormente na literatura. Criamos então um catálogo com quatro recomendações baseadas em refatorações compostas completas aplicados na prática. Avaliamos este catálogo a partir das percepções dos desenvolvedores. Estendemos a implementação de um sistema de recomendação de refatoração para sugerir refatorações compostas para a remoção de vários code smells, alertando os desenvolvedores sobre o efeito colateral de refatorações compostas na prática.

 

Orientador: Prof. Dr. Alessandro Fabricio Garcia 

Co-Orientador: Prof. Dr. Wesley Klewerton Guêz Assunção

Banca:

Prof. Dr. Jose Alberto Rodrigues Pereira Sardinha

Prof. Dr. Leonardo Gresta Paulino Murta

Prof. Dr. Marcos Kalinowski

Prof. Dr. Rohit Gheyi

Prof(a) Dr(a) Juliana Alves Pereira

Prof. Dr. Márcio de Medeiros Ribeiro

 

Assista a defesa pelo link: https://puc-rio.zoom.us/j/97780654458?pwd=KzNobExvMjV4L1ZNM2d4M3ZpcWp3QT09