Composing CRDTs Convergent by Construction

matt_d2 pts0 comments

Composing CRDTs Convergent by Construction (SPLASH 2026 - OOPSLA) - SPLASH 2026

SPLASH 2026Sat 3 - Fri 9 October 2026 Oakland, California, United States<br>co-located with SPLASH/ISSTA 2026

Toggle navigation<br>Attending Hotel: Oakland Marriott City Center<br>SPLASH/ISSTA 2026<br>Visa Letter<br>Registration<br>Travel and Child Care Support Grants

Tracks SPLASH 2026<br>OOPSLA<br>Onward! Essays<br>Onward! Papers<br>Onward! Steering Committee<br>SIGPLAN track<br>SPLASH Keynotes<br>SPLASH/OOPSLA @ 40 Panel<br>SPLASH-E<br>Artifact evaluation<br>SPLASH/ISSTA 2026<br>Doctoral symposium<br>PLMW @ SPLASH/ISSTA'26<br>Posters<br>Social Events<br>Student Research Competition<br>Student Volunteers<br>Summer School<br>Tool Demonstrations<br>REBASE industry track<br>Workshops<br>Sponsorship

Co-hosted Conferences<br>ISSTA ISSTA<br>ISSTA Research papers<br>ISSTA Artifact evaluation<br>ISSTA Keynotes

Workshops<br>EXPRESS Expression of software system DevOps<br>FTA Firmware Testing and Analysis<br>HATRA<br>IWACO<br>LMPL<br>NSAD<br>PLSS PL Standardization and Specification<br>SpecOps Specification-Driven Development Life Cycle<br>SSNL<br>VMIL<br>Co-hosted Symposia<br>SAS Static Analysis SymposiumSAS<br>SAS Artifact

Organization SPLASH 2026 Committees<br>Track Committees<br>OOPSLA<br>Onward! Essays<br>Onward! Papers<br>Onward! Steering Committee<br>SIGPLAN track<br>SPLASH/OOPSLA @ 40 Panel<br>SPLASH-E<br>Artifact evaluation<br>SPLASH/ISSTA<br>Doctoral symposium<br>PLMW @ SPLASH/ISSTA'26<br>Posters<br>Social Events<br>Student Research Competition<br>Student Volunteers<br>Summer School Speakers<br>Organizers

Tool Demonstrations<br>REBASE industry track<br>Workshops<br>Sponsorship<br>Contributors<br>People Index

Co-hosted Conferences<br>ISSTA Research papers<br>Artifact evaluation

Workshops<br>EXPRESS Expression of software system DevOpsOrganizing Committee<br>Steering Committee<br>Program Committee

FTA Organizing Committee<br>Program Committee

HATRA Organizing Committee<br>Program Committee

IWACO Organizing Committee

LMPL Keynote Speaker<br>Organizing Committee<br>Program Committee

NSAD Organizing Committee<br>Program Committee<br>Steering Committee

PLSS PL Standardization and SpecificationOrganizers

SpecOps Specification-Driven Development Life CycleProgram Committee

SSNL N/A - check homepage

VMIL Program Committee

Co-hosted Symposia<br>SAS Static Analysis SymposiumSAS 2026 Program Committee<br>SAS 2026 Steering Committee<br>SAS Artifact

Search<br>Series Series

SPLASH 2027<br>SPLASH 2026<br>SPLASH 2025<br>SPLASH 2024<br>SPLASH 2023<br>SPLASH 2022<br>SPLASH 2021<br>SPLASH 2020<br>SPLASH 2019<br>SPLASH 2018<br>SPLASH 2017<br>SPLASH 2016<br>SPLASH 2015<br>SPLASH 2014<br>SPLASH 2013<br>SPLASH 2012<br>SPLASH 2011

SPLASH 2010

OOPSLA 2009<br>OOPSLA 2008<br>OOPSLA 2007<br>OOPSLA 2006<br>OOPSLA 2005<br>OOPSLA 2004<br>OOPSLA 2003<br>OOPSLA 2002<br>OOPSLA 2001<br>OOPSLA 2000

Sign in<br>Sign up

SPLASH/ISSTA 2026 (series) / SPLASH 2026 (series) / OOPSLA / Composing CRDTs Convergent by Construction

WhoAlexander Städing Dominguez, George Zakhour, Pascal Weisenburger, Guido Salvaneschi

TrackSPLASH 2026 OOPSLA

AbstractConflict-Free Replicated Data Types (CRDTs) are abstract data types that ensure eventual convergence among data replicas in distributed systems. As they provide convergence out-of-the-box, CRDTs have become key building blocks for highly available, collaborative, and offline-capable systems, powering applications from real-time editors to distributed databases. Adopting an individual CRDT is straightforward, but real-world software routinely requires composing them. For example, an application might store a set of counters, combining a set CRDT with a counter CRDT. Unfortunately, classical CRDT theory does not guarantee that a composition of convergent CRDTs converges, forcing developers to reason about convergence again - the very burden CRDTs were introduced to remove.

In this paper, we introduce a compositional framework for a broad class of operation-based CRDTs. It assembles CRDTs from five principal combinators – Product, MapState, Associate, Traverse, and MapInterpretation – each with built-in convergence guarantees. Any CRDT assembled from these combinators is itself a CRDT, preserving convergence by construction. This set is free of redundancy and subsumes previously proposed combinators.

We develop the framework, its underlying theory, and its proofs entirely in Lean 4, producing a single artifact that serves as both the formal model and an executable, verified implementation. Our reusable library, Crdtlib, provides implementations and proofs for every combinator and CRDT in this paper. Our case studies (i) implement common CRDTs from Shapiro et al., (ii) apply the combinators in a complete application, and (iii) encode a JSON-structured tree CRDT as expressive as Automerge, with competitive runtime and memory use. These case studies show that developers can compose CRDTs without re-proving convergence for each composite.

Link to Preprint https://programming-group.com/assets/pdf/papers/2026_Composing_CRDTs_Convergent_by_Construction.pdf

DOI https://doi.org/10.1145/3839478

Alexander Städing Dominguez<br>University of St. Gallen<br>Switzerland

George Zakhour<br>University of St. Gallen<br>Switzerland

Pascal...

splash committee oopsla issta crdts crdt

Related Articles