Towards Test-Driven Conflict Resolution
DOI:
https://doi.org/10.14279/eceasst.v84.2677Keywords:
Test-Driven Development, Test-First, Software Integration, Conflict Tolerance, Laziness, Conflict Resolution SynthesisAbstract
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.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2025 Jonas Schürmann, Bernhard Steffen

This work is licensed under a Creative Commons Attribution 4.0 International License.
