An empirical study of the relationship between refactorings and merge conflicts in javascript repositories
| Ano de defesa: | 2023 |
|---|---|
| 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
|
| 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 conitos 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 conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito 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 conitantes, bem como correlação moderada entre o número de coni 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 conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. 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, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados 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 conitos 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 conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito 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 conitantes, bem como correlação moderada entre o número de coni 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 conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. 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, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados 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 conicts if changes are made in the same place in the code. This work aims to analyze the possible relationship between refactorings and merge conicts 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 conicts les/- conicting 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 conicting areas, as well as a moderate correlation between the number of conicts and the number of types of refactoring performed. 8 types of refactorings were identied at the conicting le level and also at the conict region level. Through statistical analysis, the relationship between the number of refactoring types and the number of conicts 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 classied as oss refactoring because they had other types of modications involved in the process. 88 evolutionary commits analyzed were classied 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 conitos 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 conitos de mesclagem em código JavaScript. Analisamos 76 repositórios JavaScript, incluindo 81.856 cenários de mesclagem, dos quais 6.356 apresentam coni tos. Nós descobrimos uma correlação positiva moderada entre o número de arquivos de conitos/regiões em conito 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 conitantes, bem como correlação moderada entre o número de coni 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 conitos foi o mais forte encontrado em nosso estudo. 8 tipos de refatorações foram identicados ao nível dos arquivos coni tantes e a nível de região de conito. 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, vericando que 447 (84%) destes foram classicados como oss refactoring, possuindo outros tipos de modi- cações envolvidas no processo. 88 commits evolutivos analisados foram classicados 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 |