4 research outputs found
Recommended from our members
Interleaving anomalies in collaborative text editors
Collaborative text editors allow two or more users to concurrently edit a shared document without merge conflicts. Such systems require an algorithm to provide convergence, ensuring all clients that have seen the same set of document edits are in the same state. Unfortunately convergence alone does not guarantee that a collaborative text editor is usable. Several published algorithms for collaborative text editing exhibit an undesirable anomaly in which concurrently inserted portions of text with a well-defined order may be randomly interleaved on a character-by-character basis, resulting in an unreadable jumble of letters. Although this anomaly appears to be known informally by some researchers in the field, we are not aware of any published work that fully explains or addresses it. We show that several algorithms suffer from this problem, explain its cause, and also identify a lesser variant of the anomaly that occurs in another algorithm. Moreover, we propose a specification of collaborative text editing that rules out the anomaly, and show how to prevent the lesser anomaly from occurring in one particular algorithm.The Boeing Company and EPSRC “REMS: Rigorous Engineering for Mainstream Systems” programme grant (EP/K008528)
The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
Most existing algorithms for replicated lists, which are widely used in
collaborative text editors, suffer from a problem: when two users concurrently
insert text at the same position in the document, the merged outcome may
interleave the inserted text passages, resulting in corrupted and potentially
unreadable text. The problem has gone unnoticed for decades, and it affects
both CRDTs and Operational Transformation. This paper defines maximal
non-interleaving, our new correctness property for replicated lists. We
introduce two related CRDT algorithms, Fugue and FugueMax, and prove that
FugueMax satisfies maximal non-interleaving. We also implement our algorithms
and demonstrate that Fugue offers performance comparable to state-of-the-art
CRDT libraries for text editing.Comment: 16 pages, 10 figure
Recommended from our members
Research data supporting "Interleaving anomalies in collaborative text editors"
This data file contains tests for a particular edge case that occurs in collaborative text editing CRDTs: in some algorithms, when strings of characters are concurrently inserted at the same position, insertions by different collaborators are interleaved. The code in this repository demonstrates such interleaving occurring in the Logoot, SOCT2, and LSEQ algorithms. No interleaving is found in RGA, WOOT, WOOTH or WOOTO