skip to main content

Katara: synthesizing CRDTs with verified lifting

Published:31 October 2022Publication History
Skip Abstract Section

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.

References

  1. Maaz Bin Safeer Ahmad and Alvin Cheung. 2018. Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD ’18). Association for Computing Machinery, New York, NY, USA. 1205–1220. isbn:9781450347037 https://doi.org/10.1145/3183713.3196891 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Maaz Bin Safeer Ahmad, Jonathan Ragan-Kelley, Alvin Cheung, and Shoaib Kamil. 2019. Automatically Translating Image Processing Libraries to Halide. ACM Trans. Graph., 38, 6 (2019), Article 204, nov, 13 pages. issn:0730-0301 https://doi.org/10.1145/3355089.3356549 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Rajeev Alur, Rastislav Bodik, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntax-guided synthesis. In 2013 Formal Methods in Computer-Aided Design. 1–8. https://doi.org/10.1109/FMCAD.2013.6679385 Google ScholarGoogle ScholarCross RefCross Ref
  4. Peter Alvaro, Neil Conway, Joseph M Hellerstein, and David Maier. 2014. Blazes: Coordination analysis for distributed programs. In 2014 IEEE 30th International Conference on Data Engineering. 52–63. Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle Scholar
  6. Peter Alvaro, William R Marczak, Neil Conway, Joseph M Hellerstein, David Maier, and Russell Sears. 2010. Dedalus: Datalog in time and space. In International Datalog 2.0 Workshop. 262–281. Google ScholarGoogle Scholar
  7. Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, and Nuno Preguiça. 2018. IPA: Invariant-Preserving Applications for Weakly Consistent Replicated Databases. Proc. VLDB Endow., 12, 4 (2018), dec, 404–418. issn:2150-8097 https://doi.org/10.14778/3297753.3297760 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, Nuno Preguiça, Mahsa Najafzadeh, and Marc Shapiro. 2015. Putting Consistency Back into Eventual Consistency. In Proceedings of the Tenth European Conference on Computer Systems (EuroSys ’15). Association for Computing Machinery, New York, NY, USA. Article 6, 16 pages. isbn:9781450332385 https://doi.org/10.1145/2741948.2741972 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds, Ying Sheng, Cesare Tinelli, and Yoni Zohar. 2022. cvc5: A Versatile and Industrial-Strength SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13243). Springer, 415–442. https://doi.org/10.1007/978-3-030-99524-9_24 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, and Benjamin P. Wood. 2012. Cloud Types for Eventual Consistency. In ECOOP 2012 – Object-Oriented Programming, James Noble (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 283–307. isbn:978-3-642-31057-7 Google ScholarGoogle Scholar
  11. Sebastian Burckhardt, Alexey Gotsman, Hongseok Yang, and Marek Zawirski. 2014. Replicated data types: specification, verification, optimality. ACM Sigplan Notices, 49, 1 (2014), 271–284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Alvin Cheung, Natacha Crooks, Joseph M Hellerstein, and Mae Milano. 2021. New directions in cloud programming. The Conference on Innovative Data Systems Research (CIDR), 14 pages. Google ScholarGoogle Scholar
  13. Alvin Cheung, Armando Solar-Lezama, and Samuel Madden. 2013. Optimizing database-backed applications with query synthesis. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’13, Seattle, WA, USA, June 16-19, 2013, Hans-Juergen Boehm and Cormac Flanagan (Eds.). ACM, 3–14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Neil Conway, Peter Alvaro, Emily Andrews, and Joseph M Hellerstein. 2014. Edelweiss: Automatic storage reclamation for distributed programming. Proceedings of the VLDB Endowment, 7, 6 (2014), 481–492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Neil Conway, William R. Marczak, Peter Alvaro, Joseph M. Hellerstein, and David Maier. 2012. Logic and Lattices for Distributed Programming. In Proceedings of the Third ACM Symposium on Cloud Computing (SoCC ’12). Association for Computing Machinery, New York, NY, USA. Article 1, 14 pages. isbn:9781450317610 https://doi.org/10.1145/2391229.2391230 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Natacha Crooks, Youer Pu, Nancy Estrada, Trinabh Gupta, Lorenzo Alvisi, and Allen Clement. 2016. TARDiS: A Branch-and-Merge Approach To Weak Consistency. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD ’16). Association for Computing Machinery, New York, NY, USA. 1615–1628. isbn:9781450335317 https://doi.org/10.1145/2882903.2882951 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08/ETAPS’08). Springer-Verlag, Berlin, Heidelberg. 337–340. isbn:3540787992 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kevin De Porre, Carla Ferreira, Nuno Preguiça, and Elisa Gonzalez Boix. 2021. ECROs: Building Global Scale Systems from Sequential Code. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 107, oct, 30 pages. https://doi.org/10.1145/3485484 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kevin De Porre, Florian Myter, Christophe De Troyer, Christophe Scholliers, Wolfgang De Meuter, and Elisa Gonzalez Boix. 2019. Putting Order in Strong Eventual Consistency. In Distributed Applications and Interoperable Systems, José Pereira and Laura Ricci (Eds.). Springer International Publishing, Cham. 36–56. isbn:978-3-030-22496-7 Google ScholarGoogle Scholar
  20. Kevin De Porre, Florian Myter, Christophe Scholliers, and Elisa Gonzalez Boix. 2020. CScript: A distributed programming language for building mixed-consistency applications. J. Parallel and Distrib. Comput., 144 (2020), 109–123. issn:0743-7315 https://doi.org/10.1016/j.jpdc.2020.05.010 Google ScholarGoogle ScholarCross RefCross Ref
  21. Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon’s highly available key-value store. ACM SIGOPS operating systems review, 41, 6 (2007), 205–220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Alan Demers, Dan Greene, Carl Hauser, Wes Irish, John Larson, Scott Shenker, Howard Sturgis, Dan Swinehart, and Doug Terry. 1987. Epidemic Algorithms for Replicated Database Maintenance. In Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing (PODC ’87). Association for Computing Machinery, New York, NY, USA. 1–12. isbn:089791239X https://doi.org/10.1145/41840.41841 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford. 2017. Verifying Strong Eventual Consistency in Distributed Systems. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 109, oct, 28 pages. https://doi.org/10.1145/3133933 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Alexey Gotsman, Hongseok Yang, Carla Ferreira, Mahsa Najafzadeh, and Marc Shapiro. 2016. ’Cause I’m Strong Enough: Reasoning about Consistency Choices in Distributed Systems. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’16). Association for Computing Machinery, New York, NY, USA. 371–384. isbn:9781450335492 https://doi.org/10.1145/2837614.2837625 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Joseph M Hellerstein and Peter Alvaro. 2020. Keeping CALM: when distributed consistency is easy. Commun. ACM, 63, 9 (2020), 72–81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Todd Hoff. 2014. How League Of Legends Scaled Chat To 70 Million Players - It Takes Lots Of Minions. http://highscalability.com/blog/2014/10/13/how-league-of-legends-scaled-chat-to-70-million-players-it-t.html Google ScholarGoogle Scholar
  27. Brandon Holt, James Bornholt, Irene Zhang, Dan Ports, Mark Oskin, and Luis Ceze. 2016. Disciplined Inconsistency with Consistency Types. In Proceedings of the Seventh ACM Symposium on Cloud Computing (SoCC ’16). Association for Computing Machinery, New York, NY, USA. 279–293. isbn:9781450345255 https://doi.org/10.1145/2987550.2987559 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Farzin Houshmand and Mohsen Lesani. 2019. Hamsaz: Replication Coordination Analysis and Synthesis. Proc. ACM Program. Lang., 3, POPL (2019), Article 74, jan, 32 pages. https://doi.org/10.1145/3290387 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Patrick Hunt, Mahadev Konar, Flavio P. Junqueira, and Benjamin Reed. 2010. ZooKeeper: Wait-Free Coordination for Internet-Scale Systems. In Proceedings of the 2010 USENIX Conference on USENIX Annual Technical Conference (USENIXATC’10). USENIX Association, USA. 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Gowtham Kaki, Kapil Earanky, KC Sivaramakrishnan, and Suresh Jagannathan. 2018. Safe Replication through Bounded Concurrency Verification. Proc. ACM Program. Lang., 2, OOPSLA (2018), Article 164, oct, 27 pages. https://doi.org/10.1145/3276534 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Gowtham Kaki, Swarn Priya, KC Sivaramakrishnan, and Suresh Jagannathan. 2019. Mergeable Replicated Data Types. Proc. ACM Program. Lang., 3, OOPSLA (2019), Article 154, oct, 29 pages. https://doi.org/10.1145/3360580 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Shoaib Kamil, Alvin Cheung, Shachar Itzhaky, and Armando Solar-Lezama. 2016. Verified Lifting of Stencil Computations. SIGPLAN Not., 51, 6 (2016), jun, 711–726. issn:0362-1340 https://doi.org/10.1145/2980983.2908117 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Martin Kleppmann. 2018. Data structures as queries: Expressing CRDTs using Datalog. https://martin.kleppmann.com/2018/02/26/dagstuhl-data-consistency.html Google ScholarGoogle Scholar
  34. Martin Kleppmann. 2022. Assessing the understandability of a distributed algorithm by tweeting buggy pseudocode. University of Cambridge, Computer Laboratory. Google ScholarGoogle Scholar
  35. Martin Kleppmann and Alastair R. Beresford. 2017. A Conflict-Free Replicated JSON Datatype. IEEE Transactions on Parallel and Distributed Systems, 28, 10 (2017), 2733–2746. https://doi.org/10.1109/TPDS.2017.2697382 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rusty Klophaus. 2010. Riak Core: Building Distributed Applications without Shared State. In ACM SIGPLAN Commercial Users of Functional Programming (CUFP ’10). Association for Computing Machinery, New York, NY, USA. Article 14, 1 pages. isbn:9781450305167 https://doi.org/10.1145/1900160.1900176 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Lindsey Kuper and Ryan R. Newton. 2013. LVars: Lattice-Based Data Structures for Deterministic Parallelism. In Proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC ’13). Association for Computing Machinery, New York, NY, USA. 71–84. isbn:9781450323819 https://doi.org/10.1145/2502323.2502326 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Avinash Lakshman and Prashant Malik. 2010. Cassandra: A Decentralized Structured Storage System. SIGOPS Oper. Syst. Rev., 44, 2 (2010), apr, 35–40. issn:0163-5980 https://doi.org/10.1145/1773912.1773922 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 (1978), jul, 558–565. issn:0001-0782 https://doi.org/10.1145/359545.359563 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Leslie Lamport. 1998. The part-time parliament. ACM Transactions on Computer Systems, 16, 2 (1998), May, 133–169. https://doi.org/10.1145/279227.279229 Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Cheng Li, Joao Leitão, Allen Clement, Nuno Preguiça, Rodrigo Rodrigues, and Viktor Vafeiadis. 2014. Automating the Choice of Consistency Levels in Replicated Systems. In 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association, Philadelphia, PA. 281–292. isbn:978-1-931971-10-2 https://www.usenix.org/conference/atc14/technical-sessions/presentation/li_cheng_2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Cheng Li, Daniel Porto, Allen Clement, Johannes Gehrke, Nuno Preguiça, and Rodrigo Rodrigues. 2012. Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12). USENIX Association, Hollywood, CA. 265–278. isbn:978-1-931971-96-6 https://www.usenix.org/conference/osdi12/technical-sessions/presentation/li Google ScholarGoogle Scholar
  43. Xiao Li, Farzin Houshmand, and Mohsen Lesani. 2020. Hampa: Solver-Aided Recency-Aware Replication. In Computer Aided Verification, Shuvendu K. Lahiri and Chao Wang (Eds.). Springer International Publishing, Cham. 324–349. isbn:978-3-030-53288-8 Google ScholarGoogle Scholar
  44. Yiyun Liu, James Parker, Patrick Redmond, Lindsey Kuper, Michael Hicks, and Niki Vazou. 2020. Verifying Replicated Data Types with Typeclass Refinements in Liquid Haskell. Proc. ACM Program. Lang., 4, OOPSLA (2020), Article 216, nov, 30 pages. https://doi.org/10.1145/3428284 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Christopher Meiklejohn and Peter Van Roy. 2015. Lasp: A Language for Distributed, Coordination-Free Programming. In Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming (PPDP ’15). Association for Computing Machinery, New York, NY, USA. 184–195. isbn:9781450335164 https://doi.org/10.1145/2790449.2790525 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Mae Milano and Andrew C. Myers. 2018. MixT: A Language for Mixing Consistency in Geodistributed Transactions. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2018). Association for Computing Machinery, New York, NY, USA. 226–241. isbn:9781450356985 https://doi.org/10.1145/3192366.3192375 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Matthew Milano, Rolph Recto, Tom Magrino, and Andrew C. Myers. 2019. A Tour of Gallifrey, a Language for Geodistributed Programming. In 3rd Summit on Advances in Programming Languages (SNAPL 2019), Benjamin S. Lerner, Rastislav Bodík, and Shriram Krishnamurthi (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 136). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. 11:1–11:19. isbn:978-3-95977-113-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.SNAPL.2019.11 Google ScholarGoogle ScholarCross RefCross Ref
  48. Kartik Nagar and Suresh Jagannathan. 2019. Automated Parameterized Verification of CRDTs. https://doi.org/10.48550/ARXIV.1905.05684 Google ScholarGoogle Scholar
  49. Diego Ongaro and John Ousterhout. 2014. In Search of an Understandable Consensus Algorithm. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference (USENIX ATC’14). USENIX Association, USA. 305–320. isbn:9781931971102 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Raymond Roestenburg, Rob Williams, and Robertus Bakker. 2016. Akka in action. Simon and Schuster. Google ScholarGoogle Scholar
  51. Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. A comprehensive study of convergent and commutative replicated data types. Ph.D. Dissertation. Inria–Centre Paris-Rocquencourt; INRIA. Google ScholarGoogle Scholar
  52. Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. Conflict-free replicated data types. In Symposium on Self-Stabilizing Systems. 386–400. Google ScholarGoogle ScholarCross RefCross Ref
  53. KC Sivaramakrishnan, Gowtham Kaki, and Suresh Jagannathan. 2015. Declarative Programming over Eventually Consistent Data Stores. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’15). Association for Computing Machinery, New York, NY, USA. 413–424. isbn:9781450334686 https://doi.org/10.1145/2737924.2737981 Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, and Steve Licking. 2016. Packet Transactions: High-Level Programming for Line-Rate Switches. In Proceedings of the 2016 ACM SIGCOMM Conference (SIGCOMM ’16). Association for Computing Machinery, New York, NY, USA. 15–28. isbn:9781450341936 https://doi.org/10.1145/2934872.2934900 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Tim Soethout, Tijs van der Storm, and Jurgen J. Vinju. 2019. Static Local Coordination Avoidance for Distributed Objects. In Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2019). Association for Computing Machinery, New York, NY, USA. 21–30. isbn:9781450369824 https://doi.org/10.1145/3358499.3361222 Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Vimala Soundarapandian, Adharsh Kamath, Kartik Nagar, and KC Sivaramakrishnan. 2022. Certified Mergeable Replicated Data Types. In Proceedings of the 43rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2022). Association for Computing Machinery, New York, NY, USA. 16 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Emina Torlak and Rastislav Bodik. 2013. Growing Solver-Aided Languages with Rosette. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2013). Association for Computing Machinery, New York, NY, USA. 135–152. isbn:9781450324724 https://doi.org/10.1145/2509578.2509586 Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Werner Vogels. 2009. Eventually Consistent. Commun. ACM, 52, 1 (2009), jan, 40–44. issn:0001-0782 https://doi.org/10.1145/1435417.1435432 Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Chao Wang, Constantin Enea, Suha Orhun Mutluergil, and Gustavo Petri. 2019. Replication-Aware Linearizability. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2019). Association for Computing Machinery, New York, NY, USA. 980–993. isbn:9781450367127 https://doi.org/10.1145/3314221.3314617 Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Stephane Weiss, Pascal Urso, and Pascal Molli. 2009. Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks. In 2009 29th IEEE International Conference on Distributed Computing Systems. 404–412. https://doi.org/10.1109/ICDCS.2009.75 Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Chenggang Wu, Jose Faleiro, Yihan Lin, and Joseph Hellerstein. 2018. Anna: A KVS for Any Scale. In 2018 IEEE 34th International Conference on Data Engineering (ICDE). 401–412. https://doi.org/10.1109/ICDE.2018.00044 Google ScholarGoogle ScholarCross RefCross Ref
  62. Peter Zeller, Annette Bieniusa, and Arnd Poetzsch-Heffter. 2014. Formal Specification and Verification of CRDTs. In Formal Techniques for Distributed Objects, Components, and Systems, Erika Ábrahám and Catuscia Palamidessi (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 33–48. isbn:978-3-662-43613-4 Google ScholarGoogle Scholar
  63. Xin Zhao and Philipp Haller. 2018. Observable Atomic Consistency for CvRDTs. In Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2018). Association for Computing Machinery, New York, NY, USA. 23–32. isbn:9781450360661 https://doi.org/10.1145/3281366.3281372 Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Xin Zhao and Philipp Haller. 2020. Replicated data types that unify eventual consistency and observable atomic consistency. Journal of Logical and Algebraic Methods in Programming, 114 (2020), 100561. issn:2352-2208 https://doi.org/10.1016/j.jlamp.2020.100561 Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Katara: synthesizing CRDTs with verified lifting

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!