Towards Test-Driven Conflict Resolution

We introduce a test-first approach to conflict resolution: When merge conflicts arise, developers first execute and debug the conflicted program with a lazy interpreter. Only when they have created sufficient understanding of the program behavior they start to make resolution decisions. Our approach addresses a long-standing problem: Merge conflicts still break the development tools that are desperately needed in the difficult search for good conflict resolutions. Developers are forced to blindly resolve all conflicts upfront before they can start to explore the problems. Lazy interpretation overcomes this limitation by restoring debugging and testing capabilities in the presence of conflicts. Besides the interactive exploration, we leverage lazy interpretation for test-by-test conflict analysis and conflict resolution synthesis. The combination of static analyses on the fine-grained version history, dynamic analysis during interpretation, and immediate feedback from the test execution facilitates an effective conflict resolver.

Institutions

Publication Details

Journal
Technische Universität Berlin – Universitätsbibliothek
Published
2025-03-14
DOI
https://doi.org/10.14279/eceasst.v84.2677
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Towards Test-Driven Conflict Resolution

Technische Universität Berlin – Universitätsbibliothek
Software Testing and Debugging Techniques
article

Towards Test-Driven Conflict Resolution

article en

Abstract

We introduce a test-first approach to conflict resolution: When merge conflicts arise, developers first execute and debug the conflicted program with a lazy interpreter. Only when they have created sufficient understanding of the program behavior they start to make resolution decisions. Our approach addresses a long-standing problem: Merge conflicts still break the development tools that are desperately needed in the difficult search for good conflict resolutions. Developers are forced to blindly resolve all conflicts upfront before they can start to explore the problems. Lazy interpretation overcomes this limitation by restoring debugging and testing capabilities in the presence of conflicts. Besides the interactive exploration, we leverage lazy interpretation for test-by-test conflict analysis and conflict resolution synthesis. The combination of static analyses on the fine-grained version history, dynamic analysis during interpretation, and immediate feedback from the test execution facilitates an effective conflict resolver.

Technische Universität Berlin – Universitätsbibliothek
TU Dortmund University (DE)
Peace, Justice and strong institutions
Openalex Percentile: Top 41%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.