Formal Specification and Verification of CRDTs

  • Peter Zeller
  • Annette Bieniusa
  • Arnd Poetzsch-Heffter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8461)

Abstract

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.

Keywords

CRDT formal verification eventual consistency 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bieniusa, A., Zawirski, M., Preguiça, N.M., Shapiro, M., Baquero, C., Balegas, V., Duarte, S.: Brief announcement: Semantics of eventually consistent replicated sets. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 441–442. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  2. 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. 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. 4.
    Bouajjani, A., Enea, C., Hamza, J.: Verifying eventual consistency of optimistic replication systems. In: Jagannathan, Sewell (eds.) [7], pp. 285–296Google Scholar
  5. 5.
    Burckhardt, S., Gotsman, A., Yang, H., Zawirski, M.: Replicated data types: specification, verification, optimality. In: Jagannathan, Sewell (eds.) [7], pp. 271–284Google Scholar
  6. 6.
    Gilbert, S., Lynch, N.A.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)CrossRefGoogle Scholar
  7. 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
  8. 8.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)CrossRefMATHGoogle Scholar
  9. 9.
    Meiklejohn, C.: Distributed data structures with Coq, http://christophermeiklejohn.com/coq/2013/06/11/distributed-data-structures.html (June 2013)
  10. 10.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)CrossRefMATHGoogle Scholar
  11. 11.
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)CrossRefGoogle Scholar
  12. 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
  13. 13.
    Shapiro, M., Preguiça, N.M., Baquero, C., Zawirski, M.: Conflict-free replicated data types. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 386–400. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 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
  15. 15.
    Vogels, W.: Eventually consistent. ACM Queue 6(6), 14–19 (2008)CrossRefGoogle Scholar
  16. 16.
    Zeller, P.: Specification and Verification of Convergent Replicated Data Types. Master’s thesis, TU Kaiserslautern, Germany (2013)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Peter Zeller
    • 1
  • Annette Bieniusa
    • 1
  • Arnd Poetzsch-Heffter
    • 1
  1. 1.University of KaiserslauternGermany

Personalised recommendations