Formal Specification and Verification of CRDTs
Convergent Replicated Data Types (CRDTs) can be used as basic building blocks for storing and managing replicated data in a distributed system. They provide high availability and performance, and they guarantee eventual consistency. In this paper, we develop a formal framework for the analysis and verification of CRDTs. We investigate and compare the three currently used specification techniques for CRDTs and formalize them based on an abstract model for managing replicated data in distributed systems. We show how CRDT implementations can be expressed in our framework and present a general strategy for verifying CRDTs. Finally, we report on our experiences in using the framework for the verification of important existing CRDT implementations. The framework and the proofs were developed within the interactive theorem prover Isabelle/HOL.
KeywordsCRDT formal verification eventual consistency
Unable to display preview. Download preview PDF.
- 2.Bieniusa, A., Zawirski, M., Preguiça, N.M., Shapiro, M., Baquero, C., Balegas, V., Duarte, S.: An optimized conflict-free replicated set. CoRR, abs/1210.3368 (2012)Google Scholar
- 3.Bieniusa, A., Zawirski, M., Preguiça, N.M., Shapiro, M., Baquero, C., Balegas, V., Duarte, S.: An optimized conflict-free replicated set. CoRR, abs/1210.3368 (2012)Google Scholar
- 4.Bouajjani, A., Enea, C., Hamza, J.: Verifying eventual consistency of optimistic replication systems. In: Jagannathan, Sewell (eds.) , pp. 285–296Google Scholar
- 5.Burckhardt, S., Gotsman, A., Yang, H., Zawirski, M.: Replicated data types: specification, verification, optimality. In: Jagannathan, Sewell (eds.) , pp. 271–284Google Scholar
- 7.Jagannathan, S., Sewell, P. (eds.): The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014, San Diego, CA, USA, January 20-21. ACM (2014)Google Scholar
- 9.Meiklejohn, C.: Distributed data structures with Coq, http://christophermeiklejohn.com/coq/2013/06/11/distributed-data-structures.html (June 2013)
- 12.Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: A comprehensive study of Convergent and Commutative Replicated Data Types. Rapport de Recherche RR-7506, INRIA (January 2011)Google Scholar
- 14.Terry, D.B., Theimer, M., Petersen, K., Demers, A.J., Spreitzer, M., Hauser, C.: Managing update conflicts in bayou, a weakly connected replicated storage system. In: SOSP, pp. 172–183 (1995)Google Scholar
- 16.Zeller, P.: Specification and Verification of Convergent Replicated Data Types. Master’s thesis, TU Kaiserslautern, Germany (2013)Google Scholar