Beyond Character Convergence: Structure-Aware Replication for Collaborative Programming
Real-time collaborative programming tools synchronize source code based on character positions, relying on Operational Transformation or Conflict-free Replicated Datatypes (CRDT) to ensure replica convergence. For programming, however, character convergence is too weak. Replicas may agree on the same text while it is syntactically invalid, structurally incoherent or inconsistent with the intended effects of concurrent code edits.
This talk presents ongoing work on structure-aware replication for collaborative programming. Our approach preserves the familiar coding experience in which developers continue to edit their code, and transiently invalid local states are allowed. However, only parsable local states are accepted for collaboration. Accepted edits are first reconciled against a lossless syntax tree with stable node identities. The resulting structural operations are then replicated using an operation-based tree CRDT. Synchronization, therefore, operates over program entities such as statements, declarations, and tokens rather than over character positions.
We will present structural conflict classes and discuss which conflicts can preserve the intent of both collaborators and which require coherent resolution policies. Furthermore, we will present how the proposed structural model compares to ordinary sequence CRDTs in controlled conflict scenarios and recorded collaborative programming traces. The talk will close with open design questions for decentralized and near-synchronous programming tools: How much divergence should such systems tolerate? Where are the limits of preserving user intent through automatic conflict resolution and when should divergent edits be surfaced to collaborators for explicit consolidation? Can future systems move toward partial syntax representations for incomplete programs?
Tue 30 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
14:00 - 15:30 | |||
14:00 30mTalk | Enforcing Session Protocols at the Network Level Using NEST PLF+PLAID Jens Kanstrup Larsen DTU, Alceste Scalas Technical University of Denmark, Guy Amir Hebrew University, Jules Jacobs Cornell University, Jana Wagemaker , Nate Foster EPFL; Jane Street | ||
14:30 30mTalk | Automatic Generation of Local-First and Collaborative Domain-Specific Modeling Languages PLF+PLAID Léo Olivier CEA-List, Université Paris-Saclay | ||
15:00 30mTalk | Beyond Character Convergence: Structure-Aware Replication for Collaborative Programming PLF+PLAID Leon Freudenthaler Hochschule Campus Wien/TU Wien | ||