Comparing the refactoring mechanics of refactoring detection tools and IDEs

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: SILVA, Osmar Leandro Dantas da. lattes
Orientador(a): GHEYI, Rohit. lattes
Banca de defesa: RIBEIRO, Márcio de Medeiros. lattes, TEIXEIRA, Leopoldo Motta. lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Programa de Pós-Graduação: PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Departamento: Centro de Engenharia Elétrica e Informática - CEEI
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
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 GHEYI, 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, O. L. D.http://lattes.cnpq.br/1294001761996285SILVA, Osmar Leandro Dantas da.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.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.Submitted by Francisca Araujo (rosaguedes251@hotmail.com) on 2022-06-09T13:49:21Z No. of bitstreams: 1 OSMAR LEANDRO DANTAS DA SILVA – DISSERTAÇÃO (PPGCC) 2022.pdf: 1422841 bytes, checksum: cb25ec75726fdcf13ebcdd423caf811a (MD5)Made available in DSpace on 2022-06-09T13:49:21Z (GMT). No. of bitstreams: 1 OSMAR LEANDRO DANTAS DA SILVA – DISSERTAÇÃO (PPGCC) 2022.pdf: 1422841 bytes, checksum: cb25ec75726fdcf13ebcdd423caf811a (MD5) Previous issue date: 2022-04-28Universidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoSoftware engineeringIDEsRefactoringDetection toolsMechanicsComparing the refactoring mechanics of refactoring detection tools and IDEs2022-04-282022-06-09T13:49:21Z2022-06-092022-06-09T13:49:21Zhttp://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.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGLICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/25582/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALOSMAR LEANDRO DANTAS DA SILVA – DISSERTAÇÃO PPGCC 2022.pdfOSMAR LEANDRO DANTAS DA SILVA – DISSERTAÇÃO PPGCC 2022.pdfapplication/pdf1422841http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/25582/1/OSMAR+LEANDRO+DANTAS+DA+SILVA+%E2%80%93+DISSERTA%C3%87%C3%83O+PPGCC+2022.pdfcb25ec75726fdcf13ebcdd423caf811aMD51riufcg/255822022-06-09 10:53:54.027oai:localhost:riufcg/25582Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca 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.pt_BR.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.
Ciência da Computação
Software engineering
IDEs
Refactoring
Detection tools
Mechanics
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.advisor1.fl_str_mv GHEYI, Rohit.
dc.contributor.advisor1ID.fl_str_mv GHEYI, R.
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2931270888717344
dc.contributor.referee1.fl_str_mv RIBEIRO, Márcio de Medeiros.
dc.contributor.referee1ID.fl_str_mv RIBEIRO, Márcio.
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/9300936571715992
dc.contributor.referee2.fl_str_mv TEIXEIRA, Leopoldo Motta.
dc.contributor.referee2ID.fl_str_mv TEIXEIRA, Leopoldo.
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/2117651910340729
dc.contributor.authorID.fl_str_mv SILVA, O. L. D.
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/1294001761996285
dc.contributor.author.fl_str_mv SILVA, Osmar Leandro Dantas da.
contributor_str_mv GHEYI, Rohit.
RIBEIRO, Márcio de Medeiros.
TEIXEIRA, Leopoldo Motta.
dc.subject.cnpq.fl_str_mv Ciência da Computação
topic Ciência da Computação
Software engineering
IDEs
Refactoring
Detection tools
Mechanics
dc.subject.por.fl_str_mv Software engineering
IDEs
Refactoring
Detection tools
Mechanics
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.issued.fl_str_mv 2022-04-28
dc.date.accessioned.fl_str_mv 2022-06-09T13:49:21Z
dc.date.available.fl_str_mv 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
dc.identifier.citation.fl_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.
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
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
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
bitstream.url.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/25582/2/license.txt
http://dspace.sti.ufcg.edu.br:8080/xmlui/bitstream/riufcg/25582/1/OSMAR+LEANDRO+DANTAS+DA+SILVA+%E2%80%93+DISSERTA%C3%87%C3%83O+PPGCC+2022.pdf
bitstream.checksum.fl_str_mv 8a4605be74aa9ea9d79846c1fba20a33
cb25ec75726fdcf13ebcdd423caf811a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
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_ 1797044721307090944