Skip navigation
Use este identificador para citar ou linkar para este item: http://repositorio.unb.br/handle/10482/42344
Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2021_MarcosCesardeOliveira.pdf1,36 MBAdobe PDFVisualizar/Abrir
Título: Applying fine-grained co-change dependencies to identify refactoring opportunities
Autor(es): Oliveira, Marcos César de
Orientador(es): Almeida, Rodrigo Bonifácio de
Assunto: Refactoração
Dependências de co-mudança
Remodularização
Clusterização
Arquitetura - qualidade
Data de publicação: 9-Nov-2021
Referência: OLIVEIRA, Marcos César de. Applying fine-grained co-change dependencies to identify refactoring opportunities. 2021., 126 f., il. Tese (Doutorado em Informática)—Universidade de Brasília, Brasília, 2021.
Abstract: A fine-grained co-change dependency arises when two fine-grained source-code entities, e.g., a method, change frequently together. This kind of dependency is relevant when con- sidering remodularization orts (e.g., to keep methods that change together in the same class). Existing research suggests that co-change dependencies are correlated with de- sign problems. However, existing approaches for recommending refactorings that change software decomposition (such as a move method) do not explore the use of fine-grained co-change dependencies. In this thesis we present a novel approach (named Draco) for rec- ommending move method and move field refactorings, which removes co-change dependen- cies and evolutionary smells, a particular type of dependency that arise when fine-grained entities that belong to di erent classes frequently change together. We first evaluated our approach using 47 open-source Java projects. Draco revealed 8,405 evolutionary smells and recommended 4,844 refactorings that remove co-change dependencies—without in- troducing other types of dependencies. A quantitative assessment reveals that Draco outperforms existing approaches (e.g., REsolution and JDeodorant) for recommending refactorings when dealing with co-change dependencies. We also evaluate our approach by submitting pull-requests with the recommendations of our technique, in addition to the recommendations from other tools (REsolution, JDeodorant, and JMove), in the con- text of one large and two medium size proprietary Java systems. A qualitative evaluation shows that our approach is eective, not only for recommending refactorings but also to reveal opportunities of design improvements. Another outcome of this thesis is that the results of both assessments (quantitative and qualitative) suggest that Draco can complement other approaches, since their refactoring recommendations do not overlap.
Unidade Acadêmica: Instituto de Ciências Exatas (IE)
Departamento de Ciência da Computação (IE CIC)
Informações adicionais: Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2021.
Programa de pós-graduação: Programa de Pós-Graduação em Informática
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.
Aparece nas coleções:Teses, dissertações e produtos pós-doutorado

Mostrar registro completo do item Visualizar estatísticas



Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.