Affiliation:
1. University of Cambridge, UK
Abstract
Data replication is used in distributed systems to maintain up-to-date copies of shared data across multiple computers in a network. However, despite decades of research, algorithms for achieving consistency in replicated systems are still poorly understood. Indeed, many published algorithms have later been shown to be incorrect, even some that were accompanied by supposed mechanised proofs of correctness. In this work, we focus on the correctness of Conflict-free Replicated Data Types (CRDTs), a class of algorithm that provides strong eventual consistency guarantees for replicated data. We develop a modular and reusable framework in the Isabelle/HOL interactive proof assistant for verifying the correctness of CRDT algorithms. We avoid correctness issues that have dogged previous mechanised proofs in this area by including a network model in our formalisation, and proving that our theorems hold in all possible network behaviours. Our axiomatic network model is a standard abstraction that accurately reflects the behaviour of real-world computer networks. Moreover, we identify an abstract convergence theorem, a property of order relations, which provides a formal definition of strong eventual consistency. We then obtain the first machine-checked correctness theorems for three concrete CRDTs: the Replicated Growable Array, the Observed-Remove Set, and an Increment-Decrement Counter. We find that our framework is highly reusable, developing proofs of correctness for the latter two CRDTs in a few hours and with relatively little CRDT-specific code.
Funder
Engineering and Physical Sciences Research Council
Boeing
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference76 articles.
1. Akka 2017. The Akka actor framework for the Java Virtual Machine. (2017). http://www.akka.io/ Accessed April 2017. Akka 2017. The Akka actor framework for the Java Virtual Machine. (2017). http://www.akka.io/ Accessed April 2017.
2. Efficient State-Based CRDTs by Delta-Mutation
3. Analysis of Self-⋆ and P2P Systems Using Refinement
4. AppJet Inc. 2011. Etherpad and EasySync Technical Manual. (March 2011). https://github.com/ether/etherpad-lite/blob/ e2ce9dc/doc/easysync/easysync-full-description.pdf AppJet Inc. 2011. Etherpad and EasySync Technical Manual. (March 2011). https://github.com/ether/etherpad-lite/blob/ e2ce9dc/doc/easysync/easysync-full-description.pdf
5. Specification and Complexity of Collaborative Text Editing
Cited by
42 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Decentralized Near-Synchronous Local-First Programming Collaboration;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. Performability evaluation of NoSQL-based storage systems;Journal of Systems and Software;2024-02
3. LoRe: A Programming Model for Verifiably Safe Local-first Software;ACM Transactions on Programming Languages and Systems;2024-01-15
4. On the correctness of highly available systems in the presence of failures;Journal of Parallel and Distributed Computing;2023-10
5. General-Purpose Secure Conflict-free Replicated Data Types;2023 IEEE 36th Computer Security Foundations Symposium (CSF);2023-07