Affiliation:
1. University of California at Berkeley, USA
Abstract
Conflict-free replicated data types (CRDTs) are a promising tool for designing scalable, coordination-free distributed systems. However, constructing correct CRDTs is difficult, posing a challenge for even seasoned developers. As a result, CRDT development is still largely the domain of academics, with new designs often awaiting peer review and a manual proof of correctness. In this paper, we present Katara, a program synthesis-based system that takes sequential data type implementations and automatically synthesizes verified CRDT designs from them. Key to this process is a new formal definition of CRDT correctness that combines a reference sequential type with a lightweight ordering constraint that resolves conflicts between non-commutative operations. Our process follows the tradition of work in verified lifting, including an encoding of correctness into SMT logic using synthesized inductive invariants and hand-crafted grammars for the CRDT state and runtime. Katara is able to automatically synthesize CRDTs for a wide variety of scenarios, from reproducing classic CRDTs to synthesizing novel designs based on specifications in existing literature. Crucially, our synthesized CRDTs are fully, automatically verified, eliminating entire classes of common errors and reducing the process of producing a new CRDT from a painstaking paper proof of correctness to a lightweight specification.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference64 articles.
1. Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications
2. Automatically translating image processing libraries to halide
3. Syntax-guided synthesis
4. Blazes: Coordination analysis for distributed programs
5. Peter Alvaro Neil Conway Joseph M Hellerstein and William R Marczak. 2011. Consistency Analysis in Bloom: a CALM and Collected Approach.. In CIDR. 249–260. Peter Alvaro Neil Conway Joseph M Hellerstein and William R Marczak. 2011. Consistency Analysis in Bloom: a CALM and Collected Approach.. In CIDR. 249–260.
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. LoRe: A Programming Model for Verifiably Safe Local-first Software;ACM Transactions on Programming Languages and Systems;2024-01-15
2. OrderlessChain;Proceedings of the 24th International Middleware Conference on ZZZ;2023-11-27
3. Towards Auto-Generated Data Systems;Proceedings of the VLDB Endowment;2023-08
4. Invited Paper: Initial Steps Toward a Compiler for Distributed Programs;Proceedings of the 5th workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems;2023-06-19
5. Type-Checking CRDT Convergence;Proceedings of the ACM on Programming Languages;2023-06-06