An empirical study of the relationship between refactorings and merge conflicts in javascript repositories

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: OLIVEIRA, José Glauber Braz de. lattes
Orientador(a): SABINO, Melina Mongiovi Cunha Lima. lattes, SOUTO, Sabrina de Figueiredo.
Banca de defesa: ALVES, Everton Leandro Galdino., TEIXEIRA, Leopoldo Motta
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: https://dspace.sti.ufcg.edu.br/handle/riufcg/36840
Resumo: Atividades de manutenção são cruciais para prolongar o ciclo de vida de um software. Uma atividade importante durante a manutenção de software é a refatoração, que é uma transfor mação que melhora a qualidade de um programa sem alterar seu comportamento. Durante o desenvolvimento de software, Sistemas de Controle de Versão (SCV) são utilizados para inte grar as mudanças feitas pelos desenvolvedores. Esses procedimentos de integração, conheci dos como processos de mesclagem, podem resultar em conitos se forem feitas alterações no mesmo lugar do código. Este trabalho tem por objetivo analisar a possível relação entre refatorações e conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito e relação/número de refatorações. Para a segunda questão de pesquisa descobrimos que os tipos de refatoração Internal move, Move e Rename estão mais relacionados às áreas conitantes, bem como correlação moderada entre o número de coni tos e o número de tipos de refatoração realizadas. Através de análises estatísticas, a relação entre o número de tipos de refatorações e o número de conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. Além da nossa análise automática para as QP1 e QP2, foi realizado um estudo manual para a QP3 que analisou 535 commits, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados como pure refactoring, representando 16% dos commits evolutivos.
id UFCG_b718ab87240ecefdea43f78b6c05cc0c
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/36840
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling SABINO, Melina Mongiovi Cunha Lima.SOUTO, Sabrina de Figueiredo.SOUTO, S. F.http://lattes.cnpq.br/0595422027989879ALVES, Everton Leandro Galdino.TEIXEIRA, Leopoldo MottaOLIVEIRA, J. G. B.http://lattes.cnpq.br/0463475642337466OLIVEIRA, José Glauber Braz de.Atividades de manutenção são cruciais para prolongar o ciclo de vida de um software. Uma atividade importante durante a manutenção de software é a refatoração, que é uma transfor mação que melhora a qualidade de um programa sem alterar seu comportamento. Durante o desenvolvimento de software, Sistemas de Controle de Versão (SCV) são utilizados para inte grar as mudanças feitas pelos desenvolvedores. Esses procedimentos de integração, conheci dos como processos de mesclagem, podem resultar em conitos se forem feitas alterações no mesmo lugar do código. Este trabalho tem por objetivo analisar a possível relação entre refatorações e conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito e relação/número de refatorações. Para a segunda questão de pesquisa descobrimos que os tipos de refatoração Internal move, Move e Rename estão mais relacionados às áreas conitantes, bem como correlação moderada entre o número de coni tos e o número de tipos de refatoração realizadas. Através de análises estatísticas, a relação entre o número de tipos de refatorações e o número de conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. Além da nossa análise automática para as QP1 e QP2, foi realizado um estudo manual para a QP3 que analisou 535 commits, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados como pure refactoring, representando 16% dos commits evolutivos.Maintenance activities are crucial to prolong the lifecycle of a software. An important ac tivity during software maintenance is refactoring, which is a transformation that improves the quality of the internal structure of the code without changing its behavior. During soft ware development, Version Control Systems (VCS) are used to integrate changes made by developers. These integration procedures, known as merge processes, may result in conicts if changes are made in the same place in the code. This work aims to analyze the possible relationship between refactorings and merge conicts in JavaScript code. We analyzed 76 JavaScript repositories, including 81,856 merge scenarios, which 6,356 of them have con- icts. We discovered a moderate positive correlation between the number of conicts les/- conicting regions and relationship/number of refactoring. For the second research question we found that the refactoring types Internal move, Move and Rename are more related to the conicting areas, as well as a moderate correlation between the number of conicts and the number of types of refactoring performed. 8 types of refactorings were identied at the conicting le level and also at the conict region level. Through statistical analysis, the relationship between the number of refactoring types and the number of conicts was the strongest found result in our study. In addition to our automatic analysis, a manual study was conducted that analyzed 535 evolutionary commits, verifying that 447 (84%) of these were classied as oss refactoring because they had other types of modications involved in the process. 88 evolutionary commits analyzed were classied as pure refactoring, representing 16% of evolutionary commits that only have refactoring actions.Submitted by Helder Soares Dantas (helder-dantas@hotmail.com) on 2024-07-24T19:57:43Z No. of bitstreams: 1 JOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdf: 2091504 bytes, checksum: f82a2381b6ed81c93be2b6c5b87c62f7 (MD5)Made available in DSpace on 2024-07-24T19:57:43Z (GMT). No. of bitstreams: 1 JOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdf: 2091504 bytes, checksum: f82a2381b6ed81c93be2b6c5b87c62f7 (MD5) Previous issue date: 2023-12-14Universidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoJavascriptMerge ConflictsRefactoringsSoftware EngineeringComputer Software ProgramJavascriptMesclar conflitosRefatoraçãoEngenharia de SoftwarePrograma de software de computadorAn empirical study of the relationship between refactorings and merge conflicts in javascript repositoriesUm estudo empírico da relação entre refatorações e mesclagem Conflitos em repositórios JavaScript2023-12-142024-07-24T19:57:43Z2024-07-242024-07-24T19:57:43Zhttps://dspace.sti.ufcg.edu.br/handle/riufcg/36840OLIVEIRA, José Glauber Braz de. An empirical study of the relationship between refactorings and merge conflicts in javascript repositories. 2024. 86 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, Universidade Federal de Campina Grande, Paraíba, Brasil, 2024.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:UFCGTEXTJOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdf.txtJOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdf.txttext/plain143678https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/3/JOS%C3%89+GLAUBER+BRAZ+DE+OLIVEIRA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2023.pdf.txt2903dadd3b46360965c64f313570cef3MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALJOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdfJOSÉ GLAUBER BRAZ DE OLIVEIRA - DISSERTAÇÃO (PPGCC) 2023.pdfapplication/pdf2091504https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/1/JOS%C3%89+GLAUBER+BRAZ+DE+OLIVEIRA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2023.pdff82a2381b6ed81c93be2b6c5b87c62f7MD51riufcg/368402025-07-24 06:49:33.204oai:dspace.sti.ufcg.edu.br:riufcg/36840Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=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:48512025-07-24T09:49:33Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.pt_BR.fl_str_mv An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
dc.title.alternative.pt_BR.fl_str_mv Um estudo empírico da relação entre refatorações e mesclagem Conflitos em repositórios JavaScript
title An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
spellingShingle An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
OLIVEIRA, José Glauber Braz de.
Ciência da Computação
Javascript
Merge Conflicts
Refactorings
Software Engineering
Computer Software Program
Javascript
Mesclar conflitos
Refatoração
Engenharia de Software
Programa de software de computador
title_short An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
title_full An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
title_fullStr An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
title_full_unstemmed An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
title_sort An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
author OLIVEIRA, José Glauber Braz de.
author_facet OLIVEIRA, José Glauber Braz de.
author_role author
dc.contributor.advisor2ID.pt_BR.fl_str_mv SOUTO, S. F.
dc.contributor.advisor1.fl_str_mv SABINO, Melina Mongiovi Cunha Lima.
dc.contributor.advisor2.fl_str_mv SOUTO, Sabrina de Figueiredo.
dc.contributor.advisor2Lattes.fl_str_mv http://lattes.cnpq.br/0595422027989879
dc.contributor.referee1.fl_str_mv ALVES, Everton Leandro Galdino.
dc.contributor.referee2.fl_str_mv TEIXEIRA, Leopoldo Motta
dc.contributor.authorID.fl_str_mv OLIVEIRA, J. G. B.
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/0463475642337466
dc.contributor.author.fl_str_mv OLIVEIRA, José Glauber Braz de.
contributor_str_mv SABINO, Melina Mongiovi Cunha Lima.
SOUTO, Sabrina de Figueiredo.
ALVES, Everton Leandro Galdino.
TEIXEIRA, Leopoldo Motta
dc.subject.cnpq.fl_str_mv Ciência da Computação
topic Ciência da Computação
Javascript
Merge Conflicts
Refactorings
Software Engineering
Computer Software Program
Javascript
Mesclar conflitos
Refatoração
Engenharia de Software
Programa de software de computador
dc.subject.por.fl_str_mv Javascript
Merge Conflicts
Refactorings
Software Engineering
Computer Software Program
Javascript
Mesclar conflitos
Refatoração
Engenharia de Software
Programa de software de computador
description Atividades de manutenção são cruciais para prolongar o ciclo de vida de um software. Uma atividade importante durante a manutenção de software é a refatoração, que é uma transfor mação que melhora a qualidade de um programa sem alterar seu comportamento. Durante o desenvolvimento de software, Sistemas de Controle de Versão (SCV) são utilizados para inte grar as mudanças feitas pelos desenvolvedores. Esses procedimentos de integração, conheci dos como processos de mesclagem, podem resultar em conitos se forem feitas alterações no mesmo lugar do código. Este trabalho tem por objetivo analisar a possível relação entre refatorações e conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito e relação/número de refatorações. Para a segunda questão de pesquisa descobrimos que os tipos de refatoração Internal move, Move e Rename estão mais relacionados às áreas conitantes, bem como correlação moderada entre o número de coni tos e o número de tipos de refatoração realizadas. Através de análises estatísticas, a relação entre o número de tipos de refatorações e o número de conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. Além da nossa análise automática para as QP1 e QP2, foi realizado um estudo manual para a QP3 que analisou 535 commits, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados como pure refactoring, representando 16% dos commits evolutivos.
publishDate 2023
dc.date.issued.fl_str_mv 2023-12-14
dc.date.accessioned.fl_str_mv 2024-07-24T19:57:43Z
dc.date.available.fl_str_mv 2024-07-24
2024-07-24T19:57:43Z
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 https://dspace.sti.ufcg.edu.br/handle/riufcg/36840
dc.identifier.citation.fl_str_mv OLIVEIRA, José Glauber Braz de. An empirical study of the relationship between refactorings and merge conflicts in javascript repositories. 2024. 86 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, Universidade Federal de Campina Grande, Paraíba, Brasil, 2024.
url https://dspace.sti.ufcg.edu.br/handle/riufcg/36840
identifier_str_mv OLIVEIRA, José Glauber Braz de. An empirical study of the relationship between refactorings and merge conflicts in javascript repositories. 2024. 86 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, Universidade Federal de Campina Grande, Paraíba, Brasil, 2024.
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 https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/3/JOS%C3%89+GLAUBER+BRAZ+DE+OLIVEIRA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2023.pdf.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/2/license.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/36840/1/JOS%C3%89+GLAUBER+BRAZ+DE+OLIVEIRA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2023.pdf
bitstream.checksum.fl_str_mv 2903dadd3b46360965c64f313570cef3
8a4605be74aa9ea9d79846c1fba20a33
f82a2381b6ed81c93be2b6c5b87c62f7
bitstream.checksumAlgorithm.fl_str_mv MD5
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_ 1863363553829847040