Detalhes bibliográficos
Ano de defesa: |
2023 |
Autor(a) principal: |
CUNHA, Marcela Bandeira |
Orientador(a): |
BORBA, Paulo Henrique Monteiro |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
eng |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Programa de Pos Graduacao em Ciencia da Computacao
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/54306
|
Resumo: |
Collaborative development is an essential practice for the success of most nontriv- ial software projects. However, merge conflicts might occur when a developer integrates, through a remote shared repository, their changes with the changes from other developers. Such conflicts may impair developers’ productivity and introduce unexpected defects. Pre- vious empirical studies have analyzed such conflict characteristics and proposed different approaches to avoid or resolve them. However, these studies are limited to the analysis of code shared in public repositories. This way they ignore local (developer private) reposi- tory actions and, consequently, code integration scenarios that are often omitted from the history of remote shared repositories due to the use of commands such as git rebase, which rewrite Git commit history. These studies might then be examining only part of the actual code integration scenarios and conflicts. To assess that, we aim to shed light on this issue by bringing evidence from an empirical study that analyzes Git command history data extracted from the local repositories of a number of developers. This way we can access hidden integration scenarios that cannot be accessed by analyzing public reposi- tory data as in GitHub based studies. After identifying the visible and hidden integration scenarios, we investigate the relationship between the frequency of developers integrating code and how frequently these scenarios result in conflicts. This way, we can understand if these data are correlated. We analyze 95 Git reflog files from 61 different developers. Our results indicate that hidden code integration scenarios are more frequent than visible ones. We also find higher conflict rates than in previous studies. Our evidence suggests that studies that consider only remote shared repositories might miss integration conflict data by not considering the developer’s local repository actions. Regarding the correlation study, our results indicate a statistically significant relationship between the frequency of developers’ code integration and the frequency of integration scenarios resulting in con- flicts. This relationship is represented by a negative correlation (the higher values of one event are associated with the lower values of the other). From our study sample result, we suggest that if a developer integrates code often, the failed code integration frequency will tend to decrease. |