Symbolic Execution to Detect Semantic Merge Conflicts

Ward Muylaert, Johannes Hartel, Coen De Roover

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Collaborative software development depends on managing multiple versions of a program which requires mechanisms to merge program versions to eventually deploy a single executable. Merging program versions can be challenging as conflicts can arise. The most challenging form is a semantic conflict, which introduces unintended behaviour in the resulting executable while merging. In this paper, we develop an approach that detects such semantic merge conflicts by symbolic execution. We define the program semantics as path conditions, produced by a symbolic executor, and check whether the conditions satisfy established rules that reflect a merge conflict. Our usage of symbolic execution to check these rules is novel. We evaluate the correctness of our approach through mutation testing, and evaluate it empirically by applying the approach to real-world merges sampled from GitHub. We also discuss what challenges arise in the empirical evaluation, including the problems i) that semantic merge conflicts are rare in the wild, ii) and, even in retrospection, hard to find using standard search mechanisms. Our evaluation shows that in specific cases, our approach using symbolic execution is a promising extension to existing mechanisms to merge conflict detection.
Original languageEnglish
Title of host publicationProceedings - 2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
EditorsL. Moonen, C. Newman, A. Gorla
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages186-197
ISBN (Electronic)9798350305067
DOIs
Publication statusPublished - 2023
Externally publishedYes
Event23rd IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2023 - Bogota, Colombia
Duration: 1 Oct 20232 Oct 2023

Conference

Conference23rd IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2023
Country/TerritoryColombia
CityBogota
Period1/10/232/10/23

Fingerprint

Dive into the research topics of 'Symbolic Execution to Detect Semantic Merge Conflicts'. Together they form a unique fingerprint.

Cite this