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. |
id |
UFCG_bf7700048e2f963578072bcaba92113f |
---|---|
oai_identifier_str |
oai:localhost:riufcg/25582 |
network_acronym_str |
UFCG |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository_id_str |
|
spelling |
Comparing the refactoring mechanics of refactoring detection tools and IDEsSoftware engineeringIDEsRefactoringDetection toolsMechanicsCiência da ComputaçãoFerramentas 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.Refactoring detection tools, such as REFACTORINGMINER and REFDIFF, are helpful to study refactorings applied to software repositories. To evaluate them, the tools’ authors study software repositories and manually classify transformations as refactorings. However, this is a time-consuming and error-prone activity. It is unclear to what extent the refactoring mechanics is consistent with refactoring implementations available in IDEs. In this work, we propose a technique to test refactoring detection tools. In our technique, we apply a sin- gle refactoring using a popular IDE, and then we run the refactoring detection tool to check whether it detects the transformation applied by the IDE. We evaluate our technique by au- tomatically performing 9,885 transformations on four real open-source projects using eight ECLIPSE IDE refactorings. Our main goal is to see whether there are some differences in the refactoring mechanics of IDEs and refactoring detection tools and discuss the differences in the refactoring mechanics. REFACTORINGMINER and REFDIFF detect more refactorings in 20.41% and 14.11% of the analyzed transformations, respectively. In the remaining cases, REFACTORINGMINER and REFDIFF either do not detect the refactoring or classify it with other types of refactorings. We report 34 issues to refactoring detection tools, and developers fixed 16 bugs, and 3 bugs are duplicated. In other cases, 3 issues are not accepted.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGGHEYI, Rohit.GHEYI, R.http://lattes.cnpq.br/2931270888717344RIBEIRO, Márcio de Medeiros.RIBEIRO, Márcio.http://lattes.cnpq.br/9300936571715992TEIXEIRA, Leopoldo Motta.TEIXEIRA, Leopoldo.http://lattes.cnpq.br/2117651910340729SILVA, Osmar Leandro Dantas da.2022-04-282022-06-09T13:49:21Z2022-06-092022-06-09T13:49:21Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/25582SILVA, Osmar Leandro Dantas da. Comparing the refactoring mechanics of refactoring detection tools and IDEs. 2022. 81 f. Dissertação (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, Campina Grande, Paraíba, Brasil, 2022.porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-06-09T13:53:54Zoai:localhost:riufcg/25582Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-06-09T13:53:54Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
dc.title.none.fl_str_mv |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
title |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
spellingShingle |
Comparing the refactoring mechanics of refactoring detection tools and IDEs SILVA, Osmar Leandro Dantas da. Software engineering IDEs Refactoring Detection tools Mechanics Ciência da Computação |
title_short |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
title_full |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
title_fullStr |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
title_full_unstemmed |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
title_sort |
Comparing the refactoring mechanics of refactoring detection tools and IDEs |
author |
SILVA, Osmar Leandro Dantas da. |
author_facet |
SILVA, Osmar Leandro Dantas da. |
author_role |
author |
dc.contributor.none.fl_str_mv |
GHEYI, Rohit. GHEYI, R. http://lattes.cnpq.br/2931270888717344 RIBEIRO, Márcio de Medeiros. RIBEIRO, Márcio. http://lattes.cnpq.br/9300936571715992 TEIXEIRA, Leopoldo Motta. TEIXEIRA, Leopoldo. http://lattes.cnpq.br/2117651910340729 |
dc.contributor.author.fl_str_mv |
SILVA, Osmar Leandro Dantas da. |
dc.subject.por.fl_str_mv |
Software engineering IDEs Refactoring Detection tools Mechanics Ciência da Computação |
topic |
Software engineering IDEs Refactoring Detection tools Mechanics Ciência da Computação |
description |
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. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-04-28 2022-06-09T13:49:21Z 2022-06-09 2022-06-09T13:49:21Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/25582 SILVA, Osmar Leandro Dantas da. Comparing the refactoring mechanics of refactoring detection tools and IDEs. 2022. 81 f. Dissertação (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, Campina Grande, Paraíba, Brasil, 2022. |
url |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/25582 |
identifier_str_mv |
SILVA, Osmar Leandro Dantas da. Comparing the refactoring mechanics of refactoring detection tools and IDEs. 2022. 81 f. Dissertação (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, Campina Grande, Paraíba, Brasil, 2022. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
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 |
publisher.none.fl_str_mv |
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 |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
instname_str |
Universidade Federal de Campina Grande (UFCG) |
instacron_str |
UFCG |
institution |
UFCG |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
_version_ |
1831601422954659840 |