ProMerge: uma abordagem para auxiliar desenvolvedores na detecção e resolução proativa de conflitos de integração de código fontes - Carbonera, Carlos Eduardo (Universidade do Vale do Rio dos Sinos, 2024)
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.
Keywords: Merge; Software; Branches; ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação