COAST: A Conflict-free Replicated Abstract Syntax Tree

Research output: Chapter in Book/Report/Conference proceedingConference paper

Abstract

Remote real-time collaborative text editing enables collaboration of distributed parties which improves an agile workflow, team member availability and productivity. Collaborative source-code editors are often implemented as a variant of regular collaborative text editing with source code highlighting. Such approaches do not use the structural program information to accurately merge concurrent changes on the same portions of code for temporal network partitions. Therefore, these approaches fail to merge concurrent structural changes to the program such as a concurrent move and edit operation. In this paper we propose an approach in which the editor replicates not the program text but the program tree that corresponds with the program text. Propagating source code changes as tree operations enables resolving concurrent tree changes with higher accuracy. We evaluate our approach by reproducing a use case in which we concurrently change source code on existing tools and our approach. We show that existing tools break the lexical structure and come up with an incorrect program while our approach can distinctly apply the changes preserving the program structure.
Original languageEnglish
Title of host publication17th International Conference on Software Technologies
Subtitle of host publicationICSOFT 2022
Place of PublicationLisbon, Portugal
PublisherScitepress
Pages187-196
Number of pages10
Volume1
ISBN (Electronic)978-989-758-588-3
ISBN (Print)978-989-758-588-3
DOIs
Publication statusPublished - 12 Jul 2022

Publication series

NameProceedings of the 17th International Conference on Software Technologies - ICSOFT
PublisherScitepress
Volume1
ISSN (Print)2184-2833
ISSN (Electronic)2184-2833

Keywords

  • Conflict-free Replicated Data Types
  • Software Evolution
  • Abstract Syntax Trees
  • Distributed Collaboration

Fingerprint

Dive into the research topics of 'COAST: A Conflict-free Replicated Abstract Syntax Tree'. Together they form a unique fingerprint.

Cite this