• Nenhum resultado encontrado

Relevância Prática de Fatores que Contribuem para Conflito de Merge

N/A
N/A
Protected

Academic year: 2021

Share "Relevância Prática de Fatores que Contribuem para Conflito de Merge"

Copied!
8
0
0

Texto

(1)

Universidade Federal de Pernambuco

Centro de Informática

Graduação em Ciência da Computação

Relevância Prática de Fatores que Contribuem para

Conflito de Merge

Proposta de Trabalho de Graduação

Discente: Luís Henrique Delgado Santos (lhds@cin.ufpe.br) Orientador: Paulo Borba (phmb@cin.ufpe.br)

Área: Engenharia de Software e Sistemas

(2)

Resumo

Os conflitos de merge, são ocorrências que atravessam gerações de desenvolvimento compartilhado. Apesar do surgimento de vários conjuntos de técnicas que tentam trazer boas práticas para a criação de um software, ainda é comum a existência dos conflitos e eles podem tornar-se grandes problemas na elaboração de um programa, pois além de se tornar algo frequente, ainda se torna necessário a dedicação maior de tempo. Tempo esse que poderia ser usado em outras áreas do desenvolvimento, mas acaba por ter que ser destinado a esse fim. Este trabalho tem como objetivo observar na prática a relevância de alguns fatores apontados por estudos como possíveis contribuidores para a ocorrência de conflitos de merge e assim tornar possível indicar algumas sugestões com mais convicção para os gerentes de projetos sobre medidas que se adotadas possam levar a equipe de desenvolvimento a ter menos conflitos de merge.

(3)

Introdução

Embora a criação de novos branches e forks seja fácil e rápida com os sistemas modernos de controle de versão, o processo de merge geralmente consome tempo [1]. Isso não acontece por desinteresse da área, mas pela maior dificuldade de resolver esse problema. Diversas abordagens já foram feitas, existindo até estudos que buscam estruturar esses conflitos para poder melhor enfrentá-los, mas nem assim parece ser um caminho fácil como pode ser visto em CAVALCANTI et al (2017).

A maioria dos estudos consiste em analisar uma quantidade interessante de repositórios e seus respectivos conflitos e a partir disso testar hipóteses ou fazer inferências. Estudos como o de Leßenich (2017) chegam a estudar até 7 fatores como possíveis indicadores que conflitos de merge podem acontecer. Apesar da relevância e importância desses estudos e seus métodos, alguns fatores como a comunicação do time de desenvolvimento não são levados em conta.

A ideia inicial desse trabalho seria seguir esse raciocínio e verificar a importância da comunicação verbal para evitar os conflitos. A hipótese parecia realmente indicar que seriam achados resultados importantes, pois observações feitas de experiência de vida apontavam para a congruência do pensamento, apesar das observações não terem sido feitas com esse específico fim. Contudo, após analisar melhor a proposta, notou-se que ela se tornaria inviável para o escopo de um trabalho de graduação como este, pois iria requerer quantidade e demandas de tempo em empresas que superariam os limites do período.

Diante da dificuldade citada, achou-se um caminho similar e que seria melhor encaixado ao escopo. Sem haver um distanciamento total da comunicação verbal, por achar que ela é um fator primordial para essa área, mas nem sempre estudado, decidiu-se por misturar a ideia dos estudos empíricos com hipóteses de porque o problema ocorre e verificar como seria sua importância na prática.

Com algumas afirmações sobre o poder preditivo de vários indicadores como número, tamanho ou grau de dispersão [1] dos commits e quanto mais cedo for detectado um conflito, mais fácil será resolvê-lo [3]. Começou-se a observar alguns indicadores mais presentes nos estudos. Somados a esses fatores, notou-se também a potencialidade de evidências que agrupar a ideia de grau de dispersão com no contexto mais definido de modularidade, levando uma tendência inicial ao padrão MVC, mas não ficando restrito a ele, poderia trazer.

(4)

Objetivos

Acreditando ter observado fatores chaves dos estudos empíricos, como modularidade, tamanho e tempo, decidiu-se por continuar estudos que abordam essas diretrizes. Encontrado uma forma de ter a comunicação verbal chegou-se então a um objeto interessante de trabalho. Dessa forma, este trabalho tem como objetivo verificar se o impacto de certos fatores (modularidade, tamanho e tempo) no conflito de merges é corroborado pela experiência prática de alguns desenvolvedores. Tem-se em mente apresentar esse estudo em forma de artigo.

(5)

Metodologia

A metodologia de estudo vai seguir um padrão bem definido para que o fato de se estar lidando com comunicação verbal não sofra ruído que interfira em resultados. Dessa forma, será seguido basicamente os seguintes passos:

1. Elaboração de um roteiro de entrevista que utilize perguntas que possam dar continuidade à estudos que envolvem as diretrizes citadas e que possam verificar sua relação com a experiência prática do entrevistado.

2. Procurar voluntários para a pesquisa, podendo ela ser realizada de forma presencial ou online.

3. Realizar as entrevistas com os voluntários e transcrever o conteúdo. 4. Analisar o conteúdo obtido das entrevistas.

5. Sintetizar os resultados em busca de afirmações ou contradições com os estudos prévios.

6. Inferir que conclusões podem ser levantadas e os próximos passos que podem ser dados em estudos no futuro.

(6)

Calendário

AGO AGO SET SET OUT OUT NOV NOV D E Z

Revisão bibliográfica Elaboração da proposta

Preparativos para as entrevistas Entrevistas

Análise e síntese dos resultados Escrita do artigo

(7)

Assinaturas

________________________________

Luís Henrique Delgado Santos Discente

________________________________

Paulo Borba Orientador

(8)

Referências bibliográficas

[1] LEßENICH, Olaf et al; Indicators for merge conflicts in the wild: survey and empirical

study. Volume 25, pp 279-313. Junho de 2018.

[2] CAVALCANTI, Guilherme et al; Evaluating and Improving Semistructured Merge.

Proc. ACM Program. Lang., Vol. 1, No. OOPSLA, Article 59. Outubro de 2017.

[3] SARMA, Anita et al; Palantir: Early Detection of Development Conflicts Arising from

Parallel Code Changes. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, Vol.

Referências

Documentos relacionados

4.5.3.1 Comparação da evolução das e iên ias da rede gerada pelo modelo Elite om uma rede aleatória, uma rede livre de es ala e uma rede de mundo pequeno

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

A Vector Network Analyser is used to generate the transmitted signal and to collect the received signals, being both in the frequency range of 100 MHz to 3 GHz.. Figure 3.4:

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Mudanças ambientais relevantes incluíram um aumento de 40% nas chuvas após 2003, comparado aos 3 anos anteriores, e a redução dos eventos de rompimentos da barra de areia

Segundo a autora (idem) apesar do importante aspecto relacionado à reflexão a partir da prática pedagógica em momentos de formação continuada e de discussões acerca do fazer

Segundo a Adidas e o Porta dos Fundos contaram à Máquina do Esporte, a conversa surgiu há algumas semanas, quando o gru- po de humor procurou a empresa para que os uniformes do

5.2 Importante, então, salientar que a Egrégia Comissão Disciplinar, por maioria, considerou pela aplicação de penalidade disciplinar em desfavor do supramencionado Chefe