Lightweight Semantic Conflict Detection with Static Analysis

May 23, 2024·
Galileu Santos De Jesus
,
Paulo Borba
,
Rodrigo Bonifácio,
Mathues Barbosa
Mathues Barbosa
· 0 min read
DOI
Abstract
Version control system tools empower developers to independently work on their development tasks. These tools also facilitate the integration of changes through merging operations, and report textual conflicts. However, during the integration of changes, developers might encounter other types of conflicts that are not detected by current merge tools. In this paper, we focus on dynamic semantic conflicts, which occur when merging reports no textual conflicts but results in undesired interference—causing unexpected program behavior at runtime. To address this issue, we propose a technique that explores the use of static analysis to detect interference when merging contributions from two developers. We evaluate our technique using a dataset of 99 experimental units extracted from merge scenarios. The results provide evidence that our technique presents significant interference detection capability (F1 Score of 0.50 and Accuracy of 0.60).
Type
Publication
ICSE-Companion ‘24: Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings