Um estudo sobre a correlação entre acoplamentos de software entre ramos e esforços de merge - Pereira, Cristiane da Silva Rodrigues (2020)
O desenvolvimento de software colaborativo exige trabalho paralelo, e as alterações simultâneas precisam ser integradas posteriormente. Quando um merge falha, devido a conflitos diretos ou indiretos, o desenvolvedor deve intervir manualmente. Até o momento, os trabalhos existentes na literatura fornecem algumas evidências iniciais de que o acoplamento estrutural é uma das razões para conflitos indiretos. No entanto, os trabalhos existentes não avaliam formalmente até que ponto o acoplamento estrutural se correlaciona com o esforço de merge e não consideram outros tipos de acoplamentos, como lógico e conceitual. Neste trabalho, foram propostas métricas para quantificar os acoplamentos estrutural, lógico e conceitual entre as mudanças que ocorrem nos ramos. Em seguida, foi investigada a correlação entre as métricas de acoplamento de software e as métricas de esforço de merge (ou seja, retrabalho, trabalho desperdiçado e trabalho extra) em 12 projetos de código aberto, totalizando 6.376 merges. Observou-se uma fraca correlação entre todas as métricas de acoplamento e o esforço de trabalho extra. No entanto, alinhado à literatura, notou-se que a correlação entre o acoplamento estrutural e o esforço de trabalho extra é maior que os outros dois. Além disso, observou-se uma correlação moderada entre os acoplamentos estrutural e conceitual e os esforços de retrabalho e trabalho desperdiçado, mas foi identificada uma correlação baixa entre o acoplamento lógico e os esforços de retrabalho e trabalho desperdiçado. Finalmente, pôde-se observar uma correlação moderada entre os acoplamentos lógico e conceitual e uma fraca correlação entre os acoplamentos estrutural e lógico, bem como entre os acoplamentos estrutural e conceitual.