Revisiting the conflict-resolving problem from a semantic perspective

Collaborative software development significantly enhances development productivity by enabling multiple contributors to work concurrently on different branches. Despite these advantages, such collaboration often increases the likelihood of causing conflicts. Resolving these conflicts brings huge cha...

Full description

Saved in:
Bibliographic Details
Main Authors: DONG, Jinhao, SUN, Jun, LIN, Yun, ZHANG, Yedi, MA, Murong, DONG, Jin Song, HAO, Dan
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2024
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/9862
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-10862
record_format dspace
spelling sg-smu-ink.sis_research-108622024-12-24T02:24:02Z Revisiting the conflict-resolving problem from a semantic perspective DONG, Jinhao SUN, Jun LIN, Yun ZHANG, Yedi MA, Murong DONG, Jin Song HAO, Dan Collaborative software development significantly enhances development productivity by enabling multiple contributors to work concurrently on different branches. Despite these advantages, such collaboration often increases the likelihood of causing conflicts. Resolving these conflicts brings huge challenges, primarily due to the necessity of comprehending the differences between conflicting versions. Researchers have explored various automatic conflict resolution techniques, including unstructured, structured, and learning-based approaches. However, these techniques are mostly heuristic-based or black-box in nature, which means they do not attempt to solve the root cause of the conflicts, i.e., the existence of different program behaviors exhibited by the conflicting versions.In this work, we propose sMerge, a novel conflict resolution approach based on the semantics of program behaviors. We first give the formal definition of the merge conflict problem as well as the specific conditions under which conflicts happen and the criteria employed to select certain version as the resolution. Based on the definition, we propose to resolve the conflicts from the perspective of program behaviors. In particular, we argue that the key to resolving conflicts is identifying different program behaviors, and thus can be solved through targeted test generation. We conduct an extensive evaluation of sMerge using a comprehensive dataset of conflicts sourced from various projects. Our results show that sMerge can effectively solve the merge problem by employing different test generation techniques, including search-based, GPT-based, and manual testing. We remark that sMerge provides a way to understand the program behavior differences through testing, which not only allows us to solve the merge problem soundly but also enables the detection of incorrect ground truths provided by developers, thereby enhancing the reliability of the merge process. 2024-11-01T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/9862 info:doi/10.1145/3691620.3694993 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Software Engineering
spellingShingle Software Engineering
DONG, Jinhao
SUN, Jun
LIN, Yun
ZHANG, Yedi
MA, Murong
DONG, Jin Song
HAO, Dan
Revisiting the conflict-resolving problem from a semantic perspective
description Collaborative software development significantly enhances development productivity by enabling multiple contributors to work concurrently on different branches. Despite these advantages, such collaboration often increases the likelihood of causing conflicts. Resolving these conflicts brings huge challenges, primarily due to the necessity of comprehending the differences between conflicting versions. Researchers have explored various automatic conflict resolution techniques, including unstructured, structured, and learning-based approaches. However, these techniques are mostly heuristic-based or black-box in nature, which means they do not attempt to solve the root cause of the conflicts, i.e., the existence of different program behaviors exhibited by the conflicting versions.In this work, we propose sMerge, a novel conflict resolution approach based on the semantics of program behaviors. We first give the formal definition of the merge conflict problem as well as the specific conditions under which conflicts happen and the criteria employed to select certain version as the resolution. Based on the definition, we propose to resolve the conflicts from the perspective of program behaviors. In particular, we argue that the key to resolving conflicts is identifying different program behaviors, and thus can be solved through targeted test generation. We conduct an extensive evaluation of sMerge using a comprehensive dataset of conflicts sourced from various projects. Our results show that sMerge can effectively solve the merge problem by employing different test generation techniques, including search-based, GPT-based, and manual testing. We remark that sMerge provides a way to understand the program behavior differences through testing, which not only allows us to solve the merge problem soundly but also enables the detection of incorrect ground truths provided by developers, thereby enhancing the reliability of the merge process.
format text
author DONG, Jinhao
SUN, Jun
LIN, Yun
ZHANG, Yedi
MA, Murong
DONG, Jin Song
HAO, Dan
author_facet DONG, Jinhao
SUN, Jun
LIN, Yun
ZHANG, Yedi
MA, Murong
DONG, Jin Song
HAO, Dan
author_sort DONG, Jinhao
title Revisiting the conflict-resolving problem from a semantic perspective
title_short Revisiting the conflict-resolving problem from a semantic perspective
title_full Revisiting the conflict-resolving problem from a semantic perspective
title_fullStr Revisiting the conflict-resolving problem from a semantic perspective
title_full_unstemmed Revisiting the conflict-resolving problem from a semantic perspective
title_sort revisiting the conflict-resolving problem from a semantic perspective
publisher Institutional Knowledge at Singapore Management University
publishDate 2024
url https://ink.library.smu.edu.sg/sis_research/9862
_version_ 1820027802406092800