Maxwell Para Simples Indexação

Título
[pt] COMPLETUDE DE REFATORAÇÕES COMPOSTAS DE CÓDIGO-FONTE PARA A REMOÇÃO BENÉFICA DE ANOMALIAS DE CÓDIGO

Título
[en] ON THE COMPLETENESS OF COMPOSITE CODE REFACTORINGS FOR BENEFICIAL SMELL REMOVA

Autor
[pt] ANA CARLA GOMES BIBIANO

Vocabulário
[pt] ANOMALIA DE CODIGO

Vocabulário
[pt] ATRIBUTOS DE QUALIDADE INTERNA

Vocabulário
[pt] MAPEAMENTO SISTEMATICO

Vocabulário
[pt] ESTUDO QUANTITATIVO

Vocabulário
[pt] MANUTENCAO DE SOFTWARE

Vocabulário
[en] CODE SMELL

Vocabulário
[en] INTERNAL QUALITY ATTRIBUTES

Vocabulário
[en] SYSTEMATIC MAPPING

Vocabulário
[en] QUANTITATIVE STUDY

Vocabulário
[en] SOFTWARE MAINTENANCE

Resumo
[pt] A refatoração de código é uma transformação de código que visa aprimorar a estrutura interna do código. Uma refatoração isolada raramente é suficiente para remover completamente uma estrutura de código ruim, como uma anomalia de código. Os desenvolvedores então aplicam refatorações compostas para remover totalmente uma anomalia de código. Uma refatoração composta consiste em duas ou mais refatorações inter-relacionadas. Um refatoração composta é considerada completa quando elimina totalmente a anomalia de código alvo. Estudos relatam que os desenvolvedores geralmente falham em remover completamente as anomalias de código alvo por meio de refatorações compostas. Refatorações compostas concluídas podem não ser totalmente benéficas para a estrutura do código. Pois, estas podem induzir efeitos colaterais, como a introdução de anomalias de código ou a propagação de anomalias existentes. Há uma compreensão limitada sobre a completude das refatorações compostas e seus possíveis efeitos colaterais. Esta tese investiga como as refatorações compostas removem totalmente as anomalias de código sem induzir efeitos colaterais. Descobrimos que 64 por cento das refatorações compostas completas são formadas por tipos de refatoração não recomendados anteriormente. Dessa forma, derivamos um catálogo de recomendações para apoiar os desenvolvedores na aplicação de refatorações compostas. Na avaliação do catálogo, 85 por cento de 21 desenvolvedores relataram que usariam as recomendações do catálogo e que suas próprias soluções de refatoração teriam induzido efeitos colaterais. Também avaliamos qualitativamente três abordagens existentes para recomendar automaticamente refatorações compostas. Nesse estudo, a maioria (80 por cento) dos 10 desenvolvedores relatou que as abordagens existentes frequentemente induzem efeitos colaterais. No geral, as descobertas e o catálogo proposto podem ajudar os desenvolvedores a realizar refatorações compostas completas.

Resumo
[en] Code refactoring is a code transformation that aims to enhance the internal code structure. A single refactoring is rarely sufficient to achieve the full removal of a poor code structure, such as a code smell. Developers then apply composite refactorings to fully remove a code smell. A composite refactoring (or, simply, composite) consists of two or more interrelated single refactorings. A composite is considered complete when it fully eliminates the target smell. However, studies report that developers often fail in completely removing target code smells through composites. Even when composite refactorings are complete they may still not be entirely beneficial to the code structure. They may induce side effects, such as the introduction of new smells or the propagation of existing ones. There is a limited understanding of the completeness of composite refactorings and their possible effects on structural quality. This thesis investigates whether and how composite refactorings fully remove smells without inducing side effects. We found that 64 per cent of complete composites in several software projects are formed of refactoring types not previously recommended in the literature. Based on this study, we derived a catalog of recommendations for supporting developers in applying composite refactorings. Out of twenty one developers evaluating our catalog, 85 per cent reported that they would use the catalog recommendations and that their own refactoring solutions would have induced side effects. We also qualitatively evaluated three existing approaches to automatically recommend composite refactorings. In our study with ten developers, most (80 per cent) developers reported that existing approaches frequently induce side effects. Overall, the findings and the proposed catalog can help developers to perform complete composite refactorings with better awareness of possible side effects.

Orientador(es)
ALESSANDRO FABRICIO GARCIA

Coorientador(es)
WESLEY KLEWERTON GUEZ ASSUNCAO

Banca
ALESSANDRO FABRICIO GARCIA

Banca
JOSE ALBERTO RODRIGUES PEREIRA SARDINHA

Banca
MARCOS KALINOWSKI

Banca
LEONARDO GRESTA PAULINO MURTA

Banca
ROHIT GHEYI

Banca
WESLEY KLEWERTON GUEZ ASSUNCAO

Catalogação
2023-06-22

Apresentação
2023-04-24

Tipo
[pt] TEXTO

Formato
application/pdf

Idioma(s)
INGLÊS

Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=62987@1

Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=62987@2

Referência DOI
https://doi.org/10.17771/PUCRio.acad.62987


Arquivos do conteúdo
NA ÍNTEGRA PDF