Mon 19 Jun 2023 16:00 - 16:20 at Cypress 2 - PLDI: Concurrency & Parallelism Chair(s): Calin Cascaval

Conflict-Free Replicated Data Types (CRDTs) are a recent approach for keeping replicated data consistent while guaranteeing the absence of conflicts among replicas. For correct operation, CRDTs rely on a merge function that is commutative, associative and idempotent. Ensuring that such algebraic properties are satisfied by implementations, however, is left to the programmer, resulting in a process that is complex and error-prone. While techniques based on testing, automatic verification of a model, and mechanized or handwritten proofs are available, we lack an approach that is able to verify such properties on concrete CRDT implementations.

In this paper, we present Propel, a programming language with a type system that captures the algebraic properties required by a correct CRDT implementation. The Propel type system deduces such properties by case analysis and induction: sum types guide the case analysis and algebraic properties in function types enable induction for free. Propel’s key feature is its capacity to reason about algebraic properties (a) in terms of rewrite rules and (b) to derive the equality or inequality of expressions from the properties. We provide an implementation of Propel as a Scala embedding, we implement several CRDTs, verify them with Propel and compare the verification process with four state-of-the-art verification tools. Our evaluation shows that Propel is able to automatically deduce the properties that are relevant for common CRDT implementations found in open-source libraries even in cases in which competitors timeout.

Mon 19 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
PLDI: Concurrency & ParallelismPLDI Research Papers at Cypress 2
Chair(s): Calin Cascaval Google Research

#pldi-mon-1600-concurrency-cypress Discord icon small YouTube icon small

16:00
20m
Talk
Type-Checking CRDT Convergence
PLDI Research Papers
George Zakhour University of St.Gallen, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen
DOI Pre-print
16:20
20m
Talk
Reliable Actors with Retry Orchestration
PLDI Research Papers
Olivier Tardieu IBM Research, David Grove IBM Research, Gheorghe-Teodor Bercea IBM Research, Paul Castro IBM Research, Jaroslaw Cwiklik IBM Research, Edward Epstein IBM Research
DOI
16:40
20m
Talk
Dynamic Partial Order Reduction for Checking Correctness Against Transaction Isolation Levels
PLDI Research Papers
Ahmed Bouajjani IRIF, Université Paris Diderot, Constantin Enea LIX, CNRS, Ecole Polytechnique, Enrique Román-Calvo Université Paris Cité - CNRS - IRIF
DOI
17:00
20m
Talk
Responsive Parallelism with Synchronization
PLDI Research Papers
Stefan K. Muller Illinois Institute of Technology, Kyle Singer Washington University in St. Louis, USA, Devyn Terra Keeney Illinois Institute of Technology, Andrew Neth Illinois Institute of Technology, Kunal Agrawal Washington University in St. Louis, USA, I-Ting Angelina Lee Washington University in St. Louis, USA, Umut A. Acar Carnegie Mellon University
DOI
17:20
20m
Talk
Parallelism in a Region Inference Context
PLDI Research Papers
Martin Elsman University of Copenhagen, Denmark, Troels Henriksen University of Copenhagen, Denmark
DOI
17:40
20m
Talk
Performal: Formal Verification of Latency Properties for Distributed Systems
PLDI Research Papers
Nuda Zhang University of Michigan, Upamanyu Sharma Massachusetts Institute of Technology, Manos Kapritsos University of Michigan, USA
DOI