RDBU| Repositório Digital da Biblioteca da Unisinos

ProMerge: uma abordagem para auxiliar desenvolvedores na detecção e resolução proativa de conflitos de integração de código fontes

Mostrar registro simples

Autor Carbonera, Carlos Eduardo;
Lattes do autor http://lattes.cnpq.br/9875525958142781;
Orientador Oliveira, Kleinner Silva Farias de;
Lattes do orientador http://lattes.cnpq.br/2582456631204400;
Instituição Universidade do Vale do Rio dos Sinos;
Sigla da instituição Unisinos;
País da instituição Brasil;
Instituto/Departamento Escola Politécnica;
Idioma pt_BR;
Título ProMerge: uma abordagem para auxiliar desenvolvedores na detecção e resolução proativa de conflitos de integração de código fontes;
Resumo A integração de arquivos fontes desempenha um papel fundamental em várias tarefas de desenvolvimento de software como, por exemplo, durante a acomodação de novas funcionalidades desenvolvidas, ou mesmo na reconciliação de trechos de código conflitantes alterados em paralelo por times distribuídos de desenvolvimento de software. Os conflitos surgem quando trechos de código recebem modificações divergentes implementadas em paralelo por diferentes desenvolvedores, afetando a estrutura e/ou semântica do código. Tais modificações podem afetar um mesmo trecho de código (conflito direto) ou trechos diferentes (conflito indireto). Embora a temática de integração de arquivos fontes tenham sido amplamente investigada e explorada na indústria e academia nas últimas décadas, a detecção e a resolução de conflitos são ainda consideradas tarefas altamente propensas a erros e que exigem um alto esforço de desenvolvedores. Essa pesquisa, portanto, propõe a ProMerge, a qual é uma abordagem para auxiliar desenvolvedores na detecção e resolução proativa de conflitos diretos e indiretos gerados à medida que trechos de código são modificados em paralelo. A ProMerge introduz o conceito de histórico de contexto de conflitos entre trechos de código, detecta conflitos em branches diferentes (ou não), auxilia desenvolvedores na avaliação da severidade de conflitos, bem como suporta o conceito de committing time. A ProMerge foi projetada a partir dos resultados obtidos de um mapeamento sistemático da literatura, o qual investigou duas décadas de trabalhos publicados sobre o tema de integração de software e explorou nove questões de pesquisa. A ProMerge foi implementada como um plug-in da plataforma Eclipse. A abordagem proposta foi avaliada através de um experimento controlado com trinta e dois profissionais da indústria, as quais executaram dez tarefas experimentais dividida em dois cenários para avaliar o esforço de integração, a corretude das integrações, bem como a taxa de erro ao realizar as integrações, gerando trezentos e vinte cenários de avaliação. Os resultados, suportados por testes estatísticos, indicam que a taxa de corretude encontrada foi superior em relação à abordagem tradicional e por fim, a taxa de erro encontrada na avaliação de todas as tarefas que integravam o experimento foi superior a abordagem tradicional. Além disso, uma avaliação qualitativa foi realizada, aplicando o questionário TAM, para entender o grau de aceitação da abordagem proposta. No total, trinta e um participantes são profissionais da indústria e responderam ao questionário. Os resultados indicam que a utilização da ProMerge reduziu de maneira significativa o esforço (tempo) para a resolução das tarefas, as informações de contexto geradas a partir da execução dos experimentos auxiliaram no melhor entendimento da taxa de erro e corretude. Por fim, a utilização da ProMerge contribuiu para a melhoria de desempenho dos desenvolvedores e na compreensão e aplicação dos novos conceitos implementados bem como para a geração de indicadores de desempenho e produtividade.;
Abstract The source files integration caracterize as a fundamental role in various software development tasks, for example, when it was accommodated new functionalities or it was when reconcilited conflicting code snippets changed in parallel by distributed software development teams. The conflicts are detected when code snippets receive divergent modifications implemented in parallel by different developers, affecting the structure and/or source code files semantic. This modifications can affect the same code section (direct conflict) or different sections (indirect conflict). Although the topic "source file integration" has been widely investigated and explored by the industry and academia in recent decades, conflict detection and resolution are still considered tasks that are highly prone to errors and require high effort from developers. This research, proposes ProMerge, an approach to assist developers to detect and resolve proactively direct and indirect conflicts generated as code snippets are modified in parallel. The ProMerge introduces the context history conflicts concept between code snippets, detects conflicts in different branches (or not), helps developers to evaluating the conflicts severity and supports the committing time concept. The ProMerge it was designed based on the results obtained from a systematic literature mapping, investigated published work at the last two decades about software integration topic evaluating nine research questions. The ProMerge was implemented as a plug-in for the Eclipse platform. The proposed approach it was evaluated through a controlled experiment with thirty-two industry professionals, that performed ten experimental tasks divided into two evaluate the integration effort scenarios, the integrations correctness and the error rate when integrations taske it was performed, generating three hundred and twenty evaluation scenarios. So, the results it was supported by statistical tests, indicating that the accuracy rate found was higher than the traditional approach. Finally, the error rate founded in the evaluation tasks that were part of the experiment it was higher than the traditional approach. Furthermore, a qualitative assessment it was executed, applying the TAM questionnaire, to understand the proposed approach acceptance degree. In total, thrity-one participants that answered the questionnaire are industry professionals. The results indicated that the ProMerge use presented a significantly reduced of the effort (time) to resolve the tasks. The context information generated from the experiments execution helped the developers to understand better the error and correctness rate . Finally, the ProMerge use contributed to improving developers performance and also in understanding and applying the new concepts implemented and generating performance and productivity indicators.;
Palavras-chave Merge; Software; Branches;
Área(s) do conhecimento ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação;
Tipo Dissertação;
Data de defesa 2024-03-22;
Agência de fomento Nenhuma;
Direitos de acesso openAccess;
URI http://repositorio.jesuita.org.br/handle/UNISINOS/13144;
Programa Programa de Pós-Graduação em Computação Aplicada;


Arquivos deste item

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Buscar

Busca avançada

Navegar

Minha conta

Estatística