Please use this identifier to cite or link to this item:
https://repositorio.ufpe.br/handle/123456789/48130
Share on
Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | BORBA, Paulo Henrique Monteiro | - |
| dc.contributor.author | ALVES, MATHEUS LUIZ BORBA | - |
| dc.date.accessioned | 2022-12-12T13:18:43Z | - |
| dc.date.available | 2022-12-12T13:18:43Z | - |
| dc.date.issued | 2022-10-20 | - |
| dc.date.submitted | 2022-11-01 | - |
| dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/48130 | - |
| dc.description.abstract | Para 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.extent | 33p. | pt_BR |
| dc.language.iso | por | pt_BR |
| dc.rights | openAccess | pt_BR |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/br/ | * |
| dc.subject | conflitos de integração | pt_BR |
| dc.subject | desenvolvimento colaborativo de software | pt_BR |
| dc.subject | git | pt_BR |
| dc.title | A vida privada dos conflitos de merge: replicação e análise qualitativa | pt_BR |
| dc.type | bachelorThesis | pt_BR |
| dc.degree.level | Graduacao | pt_BR |
| dc.contributor.advisorLattes | https://pauloborba.cin.ufpe.br/ | pt_BR |
| dc.description.abstractx | For 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 Terra | pt_BR |
| dc.degree.departament | ::(CIN-DCC) - Departamento de Ciência da Computação | pt_BR |
| dc.degree.graduation | ::CIn-Curso de Ciência da Computação | pt_BR |
| dc.degree.grantor | Universidade Federal de Pernambuco | pt_BR |
| dc.degree.local | Recife | pt_BR |
| Appears in Collections: | (TCC) - Ciência da Computação | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| TCC Matheus Luiz Borba Alves da Silva.pdf | 687.9 kB | Adobe PDF | ![]() View/Open |
This item is protected by original copyright |
This item is licensed under a Creative Commons License

