Tesis
What could the source code history tell UsAbout errors
Registro en:
AMARAL, Luis Henrique Vieira. What could the source code history tell UsAbout errors. 2020. 60 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2020.
Autor
Amaral, Luis Henrique Vieira
Institución
Resumen
Quase todos os desenvolvedores criam software usando uma abordagem de desenvolvi-
mento colaborativo. Nesse cenário, após concluir a tarefa, desenvolvedores submetem
suas contribuições a um repositório remoto— disponibilizando-os para outros colabora-
dores. Enquanto sequências de revisões e trabalho paralelo aumentam a produtividade
do software, por outro lado, alterações simultâneas podem causar conflitos de mescla-
gem. Além disso, quando duas entidades de software (por exemplo, classes, métodos,
campos) são mudados frequentemente de forma simultânea, eles se tornam dependentes
de co-alteração um do outro— um tipo de dependência que geralmente está oculta dos de-
senvolvedores. Alguns estudos investigam como reduzir as dependências de co-alterações
e de conflitos sintáticos em operações de mesclagem, mas existem algumas questões em
aberto sobre esse tipo específico de dependência e se conflitos de mesclagem introduzem
bugs. Neste trabalho, esclarecemos essas questões e apresentamos os resultados de uma
avaliação empírica que explora os dados históricos de 34 projetos Apache, para verificar se
as alterações que introduziram erros (BIC) se correlacionam com cenários de mesclagem
conflitantes e commits que levam a dependências de co-alterações. Nosso estudo apresenta
que o SZZ - um algoritmo para encontrar os commits que introduziram erros - rotulou
3,62 % dos cenários de mesclagem em conflito como um commit de introdução de erros e
18,77 % dos commits levam a dependências de co-alterações . Nossos resultados trazem
várias implicações para pesquisadores e profissionais. Entre eles, evidenciamos que os
desenvolvedores não devem ter medo de resolver conflitos, já que apenas uma pequena
porcentagem de os cenários de mesclagem em conflito foi suspeita de ter introduzido bugs.