Comparing the refactoring mechanics of refactoring detection tools and IDEs
Ano de defesa: | 2022 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/25582 |
Resumo: | Ferramentas de detecção de refatoração, como REFACTORINGMINER e REFDIFF, são úteis para estudar refatorações aplicadas a repositórios de software. Para avaliá-las, os autores das ferramentas estudam repositórios de software e classificam manualmente as transfor- mações como refatorações. Entretanto, esta é uma atividade que consome bastante tempo e propensa a erros. Além disso, não está claro até que ponto a mecânica de refatoração é consistente com as implementações de refatoração disponíveis em IDEs. Neste trabalho, propomos uma técnica para testar ferramentas de detecção de refatoração. Em nossa técnica, aplicamos uma única refatoração usando um IDE popular e, em seguida, executamos a ferra- menta de detecção de refatoração para verificar se ela detecta a transformação aplicada pelo IDE. Avaliamos nossa técnica executando automaticamente 9.885 transformações em quatro projetos reais de código aberto usando oito tipos de refatoração do ECLIPSE IDE. Nosso principal objetivo é verificar se existem diferenças na mecânica de refatoração de IDEs e ferramentas de detecção de refatoração e discutir essas diferenças. REFACTORINGMINER e REFDIFF detectam mais refatorações em 20,41% e 14,11% das transformações analisadas, respectivamente. Nos casos restantes, REFACTORINGMINER e REFDIFF não detectaram ou a classificam como outros tipos. Relatamos 34 relatórios de problemas para as ferramen- tas de detecção de refatoração. Os desenvolvedores corrigiram 16 bugs e 3 relatórios foram estavam duplicados. Em outros casos, 3 relatórios de problemas não foram aceitos. |