Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/48130

Share on

Full metadata record
DC FieldValueLanguage
dc.contributor.advisorBORBA, Paulo Henrique Monteiro-
dc.contributor.authorALVES, MATHEUS LUIZ BORBA-
dc.date.accessioned2022-12-12T13:18:43Z-
dc.date.available2022-12-12T13:18:43Z-
dc.date.issued2022-10-20-
dc.date.submitted2022-11-01-
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/48130-
dc.description.abstractPara a grande maioria dos projetos de software o sucesso está atrelado ao desenvolvimento colaborativo. Dito isso, conflitos de integração podem surgir quando um desenvolvedor decide integrar suas modificações com outros desenvolvedores em um repositório remoto. Conflitos podem acarretar na diminuição da produtividade, diminuição de qualidade de código e inserção de bugs em ambientes de produção. Graças a estudos realizados previamente, a frequência de comandos de integração e conflitos já foram analisados. Porém, na maioria das análises, o foco tende a ser apenas em códigos disponibilizados em repositórios públicos. Cenários de integração de código podem ser perdidos no histórico remoto dos repositórios devido à existência de comandos como o git rebase, que reescreve o histórico de commits do Git. Portanto, esses estudos podem estar analisando apenas uma parte dos conflitos reais e casos de integração de código. Através da análise de repositórios locais, podemos acessar cenários de integração de código que não seria possível caso o foco fosse apenas nos repositórios públicos do GitHub. O objetivo deste estudo é trazer mais visibilidade para a importância da análise local de repositórios para fins de investigar diversos cenários de integração de código e suas relações com a ocorrência de conflitos. Examinamos um total de 35 arquivos de git reflog de 16 projetos diferentes pertencentes a duas organizações, no total foram coletados logs de 17 desenvolvedores. Foram conduzidas 8 entrevistas semi-estruturadas, 4 colaboradores de cada organização, com objetivo de entender mais a fundo a relação entre o uso dos comandos de integração, o fluxo de trabalho e diretrizes de cada projeto estabelecidos pelas empresas e a ocorrência de conflitos. Foi detectado que o uso de comandos que ofuscam a integração de código são mais utilizados por desenvolvedores, próximo ou acima dos 3 anos de experiência. Além de conseguir apontar quais características dos projetos podem influenciar na ocorrência de conflitos, como por exemplo: o uso de testes automatizados. Vimos também que a demora para revisão de código está relacionada a ocorrência de conflitos, mais chances do código ter sido alterado, assim é de extrema importância que o processo de integração de código seja feito de forma rápida e efetiva. O planejamento prévio das tarefas que serão realizadas, a preocupação com a estrutura e tamanho dos PRs e o uso de testes automatizados ajudam a diminuir a ocorrência de conflitos pois agilizam o processo de revisão de código e integração de mudanças.pt_BR
dc.format.extent33p.pt_BR
dc.language.isoporpt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/br/*
dc.subjectconflitos de integraçãopt_BR
dc.subjectdesenvolvimento colaborativo de softwarept_BR
dc.subjectgitpt_BR
dc.titleA vida privada dos conflitos de merge: replicação e análise qualitativapt_BR
dc.typebachelorThesispt_BR
dc.degree.levelGraduacaopt_BR
dc.contributor.advisorLatteshttps://pauloborba.cin.ufpe.br/pt_BR
dc.description.abstractxFor the vast majority of software projects, success is linked to collaborative development. That said, merge conflicts can arise when a developer decides to merge their modifications with other developers into a remote repository. Conflicts can lead to decreased productivity, decreased code quality and bugs in production environments. Thanks to previous studies, the frequency of integration commands and conflicts have already been analyzed. However, in most analyses, the focus tends to be only on code available in public repositories. Code integration scenarios can be lost in the remote history of repositories due to the existence of commands like git rebase, which rewrites the history of Git commits. Therefore, these studies may be analyzing only a part of the actual conflicts and code integration cases. By analyzing local repositories, we can access code integration scenarios that would not be possible if the focus was only on public GitHub repositories. The objective of this study is to bring more visibility to the importance of local analysis of repositories in order to investigate different scenarios of code integration and their relationship with the occurrence of conflicts. We examined a total of 35 git reflog files from 16 different projects owned by two organizations, in total we collected logs from 17 developers. Eight semi-structured interviews were conducted, with 4 employees from each organization that was collected in the sample, to try to understand more deeply the relationship between the use of integration commands, the workflow and guidelines of each project established by the companies and the occurrence of conflicts. It was detected that the use of commands that obfuscate the code integration are more used by developers, close to or above 3 years of experience. In addition to being able to point out which project characteristics can influence the occurrence of conflicts, such as: the use of automated tests. We also saw that the delay for code review is related to the occurrence of conflicts, the more chances of the code having been changed, so it is extremely important that the code integration process is done quickly and effectively. Prior planning of the tasks that will be performed, concern with the structure and size of PRs and the use of automated tests help to reduce the occurrence of conflicts as they speed up the process of code review and integration of changes.pt_BR
dc.subject.cnpqÁreas::Ciências Exatas e da Terrapt_BR
dc.degree.departament::(CIN-DCC) - Departamento de Ciência da Computaçãopt_BR
dc.degree.graduation::CIn-Curso de Ciência da Computaçãopt_BR
dc.degree.grantorUniversidade Federal de Pernambucopt_BR
dc.degree.localRecifept_BR
Appears in Collections:(TCC) - Ciência da Computação

Files in This Item:
File Description SizeFormat 
TCC Matheus Luiz Borba Alves da Silva.pdf687.9 kBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons