skip to main content

Enabling Bounded Verification of Doubly-Unbounded Distributed Agreement-Based Systems via Bounded Regions

Published:06 April 2023Publication History
Skip Abstract Section

Abstract

The ubiquity of distributed agreement protocols, such as consensus, has galvanized interest in verification of such protocols as well as applications built on top of them. The complexity and unboundedness of such systems, however, makes their verification onerous in general, and, particularly prohibitive for full automation. An exciting, recent breakthrough reveals that, through careful modeling, it becomes possible to reduce verification of interesting distributed agreement-based (DAB) systems, that are unbounded in the number of processes, to model checking of small, finite-state systems. It is an open question if such reductions are also possible for DAB systems that are doubly-unbounded, in particular, DAB systems that additionally have unbounded data domains. We answer this question in the affirmative in this work thereby broadening the class of DAB systems which can be automatically and efficiently verified. We present a novel reduction which leverages value symmetry and a new notion of data saturation to reduce verification of doubly-unbounded DAB systems to model checking of small, finite-state systems. We develop a tool, Venus, that can efficiently verify sophisticated DAB system models such as the arbitration mechanism for a consortium blockchain, a distributed register, and a simple key-value store.

References

  1. Parosh Abdulla, Frederic Haziza, and Lukavs Holik. 2016. Parameterized Verification Through View Abstraction. International Journal on Software Tools for Technology Transfer, 18, 5 (2016), 495–516. https://doi.org/10.1007/s10009-015-0406-x Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. A. Abdulla, K. Cerans, B. Jonsson, and Yih-Kuen Tsay. 1996. General Decidability Theorems for Infinite-State Systems. In Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science (LICS ’96). IEEE Computer Society, USA. 313. isbn:0818674636 https://dl.acm.org/doi/10.5555/788018.788796 Google ScholarGoogle ScholarCross RefCross Ref
  3. Parosh Aziz Abdulla, Giorgio Delzanno, and Ahmed Rezine. 2007. Parameterized Verification of Infinite-State Processes with Global Conditions. https://doi.org/10.1007/978-3-540-73368-3_17 Google ScholarGoogle ScholarCross RefCross Ref
  4. Rajeev Alur, Mukund Raghothaman, Christos Stergiou, Stavros Tripakis, and Abhishek Udupa. 2015. Automatic Completion of Distributed Protocols with Symmetry. In Computer Aided Verification, Daniel Kroening and Corina S. Păsăreanu (Eds.). Springer International Publishing, Cham. 395–412. isbn:978-3-319-21668-3 https://doi.org/10.1007/978-3-319-21668-3_23 Google ScholarGoogle ScholarCross RefCross Ref
  5. Benjamin Aminof, Tomer Kotek, Sasha Rubin, Francesco Spegni, and Helmut Veith. 2018. Parameterized model checking of rendezvous systems. Distributed Computing, 31, 3 (2018), 187–222. https://doi.org/10.1007/s00446-017-0302-6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Zachary Amsden, Ramnik Arora, Shehar Bano, Mathieu Baudet, Sam Blackshear, Abhay Bothra, George Cabrera andChristian Catalini, Konstantinos Chalkias, Evan Cheng, Avery Ching, Andrey Chursin, George Danezis andGerardo Di Giacomo, David L. Dill, Hui Ding, Nick Doudchenko, Victor Gao, Zhenhuan Gao, François Garillot, Michael Gorven, Philip Hayes, J. Mark Hou, Yuxuan Hu, Kevin Hurley, Kevin Lewi, Chunqi Li, Zekun Li, Dahlia Malkhi andSonia Margulis, Ben Maurer, Payman Mohassel, Ladi de Naurois, Valeria Nikolaenko, Todd Nowacki, Oleksandr Orlov andDmitri Perelman, Alistair Pott, Brett Proctor, Shaz Qadeer, Rain, Dario Russi, Bryan Schwab, Stephane Sezer, Alberto Sonnino, Herman Venter, Lei Wei, Nils Wernerfelt, Brandon Williams, Qinfan Wu, Xifan Yan, Tim Zakian, and Runtian Zhou. 2020. The Libra Blockchain. https://developers.libra.org/docs/assets/papers/the-libra-blockchain/2020-05-26.pdf Google ScholarGoogle Scholar
  7. Atomix. 2021. Atomix. https://atomix.io/docs/latest/user-manual/primitives/AtomicValue/ Google ScholarGoogle Scholar
  8. Simon Auß erlechner, Swen Jacobs, and Ayrat Khalimov. 2016. Tight Cutoffs for Guarded Protocols with Fairness. In Verification, Model Checking, and Abstract Interpretation - 17th International Conference, VMCAI 2016, St. Petersburg, FL, USA, January 17-19, 2016. Proceedings, Barbara Jobstmann and K. Rustan M. Leino (Eds.) (Lecture Notes in Computer Science, Vol. 9583). Springer, 476–494. https://doi.org/10.1007/978-3-662-49122-5_23 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Roderick Bloem, Swen Jacobs, Ayrat Khalimov, Igor Konnov, Sasha Rubin, Helmut Veith, and Josef Widder. 2015. Decidability of Parameterized Verification. Morgan & Claypool Publishers. https://doi.org/10.1145/2951860.2951873 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. 1992. Symbolic Model Checking: 10<sup>20</sup> States and Beyond. Inf. Comput., 98, 2 (1992), jun, 142–170. issn:0890-5401 https://doi.org/10.1016/0890-5401(92)90017-A Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Clarke, D. Long, and K. McMillan. 1989. Compositional Model Checking. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science. IEEE Press, 353–362. isbn:0818619546 https://dl.acm.org/doi/abs/10.5555/77350.77387 Google ScholarGoogle Scholar
  12. Edmund M. Clarke, E. Allen Emerson, Somesh Jha, and A. Prasad Sistla. 1998. Symmetry Reductions i n Model Checking. In Proceedings of the 10th International Conference on Computer Aided Verification (CAV ’98). Springer-Verlag, Berlin, Heidelberg. 147–158. isbn:3540646086 https://doi.org/10.1007/BFb0028741 Google ScholarGoogle ScholarCross RefCross Ref
  13. Edmund M. Clarke, Muralidhar Talupur, and Helmut Veith. 2006. Environment Abstraction for Parameterized Verification. In VMCAI (Lecture Notes in Computer Science, Vol. 3855). Springer, 126–141. https://doi.org/10.1007/11609773_9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Allen Emerson, John W. Havlicek, and Richard J. Trefler. 2000. Virtual Symmetry Reduction. In Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science (LICS ’00). IEEE Computer Society, USA. 121. isbn:0769507255 https://dl.acm.org/doi/abs/10.5555/788022.788994 Google ScholarGoogle Scholar
  15. E. Allen Emerson and Vineet Kahlon. 2000. Reducing Model Checking of the Many to the Few. In CADE, David A. McAllester (Ed.) (Lecture Notes in Computer Science, Vol. 1831). Springer, 236–254. https://doi.org/10.1007/10721959_19 Google ScholarGoogle ScholarCross RefCross Ref
  16. E. Allen Emerson and Vineet Kahlon. 2003. Exact and Efficient Verification of Parameterized Cache Coherence Protocols. In CHARME (Lecture Notes in Computer Science, Vol. 2860). Springer, 247–262. https://doi.org/10.1007/978-3-540-39724-3_22 Google ScholarGoogle ScholarCross RefCross Ref
  17. E. A. Emerson and A. P. Sistla. 1997. Utilizing Symmetry When Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach. ACM Trans. Program. Lang. Syst., 19, 4 (1997), jul, 617–638. issn:0164-0925 https://doi.org/10.1145/262004.262008 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Allen Emerson and Thomas Wahl. 2003. On Combining Symmetry Reduction and Symbolic Representation for Efficient Model Checking. In Advanced Research Working Conference on Correct Hardware Design and Verification Methods. 216–230. https://doi.org/10.1007/978-3-540-39724-3_20 Google ScholarGoogle ScholarCross RefCross Ref
  19. Javier Esparza, Alain Finkel, and Richard Mayr. 1999. On the Verification of Broadcast Protocols. In 14th Annual IEEE Symposium on Logic in Computer Science, Trento, Italy, July 2-5, 1999. IEEE Computer Society, 352–359. https://doi.org/10.1109/LICS.1999.782630 Google ScholarGoogle ScholarCross RefCross Ref
  20. Alain Finkel and Philippe Schnoebelen. 2001. Well-structured Transition Systems Everywhere!. Theor. Comput. Sci., 256, 1-2 (2001), 63–92. https://doi.org/10.1016/S0304-3975(00)00102-X Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Jeremiah Griffin, Mohsen Lesani, Narges Shadab, and Xizhe Yin. 2020. TLC: Temporal Logic of Distributed Components. Proc. ACM Program. Lang., 4, ICFP (2020), Article 123, Aug., 30 pages. https://doi.org/10.1145/3409005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Hyperledger. 2021. The Hyperledger Project. https://www.hyperledger.org/ Google ScholarGoogle Scholar
  23. C Norris Ip and David L Dill. 1996. Better Verification Through Symmetry. Formal methods in system design, 9, 1-2 (1996), 41–75. https://doi.org/10.1007/BF00625968 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Nouraldin Jaber, Swen Jacobs, Christopher Wagner, Milind Kulkarni, and Roopsha Samanta. 2020. Parameterized Verification of Systems with Global Synchronization and Guards. In Computer Aided Verification, Shuvendu K. Lahiri and Chao Wang (Eds.). Springer International Publishing, Cham. 299–323. isbn:978-3-030-53288-8 https://doi.org/10.1007/978-3-030-53288-8_15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Nouraldin Jaber, Christopher Wagner, Swen Jacobs, Milind Kulkarni, and Roopsha Samanta. 2021. QuickSilver: Modeling and Parameterized Verification for Distributed Agreement-Based Systems. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 157, oct, 31 pages. https://doi.org/10.1145/3485534 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Swen Jacobs and Mouhammad Sakr. 2018. Analyzing Guarded Protocols: Better Cutoffs, More Systems, More Expressivity. In Verification, Model Checking, and Abstract Interpretation - 19th International Conference, VMCAI 2018, Los Angeles, CA, USA, January 7-9, 2018, Proceedings, Isil Dillig and Jens Palsberg (Eds.) (Lecture Notes in Computer Science, Vol. 10747). Springer, 247–268. https://doi.org/10.1007/978-3-319-73721-8_12 Google ScholarGoogle ScholarCross RefCross Ref
  27. Alexander Kaiser, Daniel Kroening, and Thomas Wahl. 2010. Dynamic Cutoff Detection in Parameterized Concurrent Programs. In Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings, Tayssir Touili, Byron Cook, and Paul B. Jackson (Eds.) (Lecture Notes in Computer Science, Vol. 6174). Springer, 645–659. https://doi.org/10.1007/978-3-642-14295-6_55 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Morten Krogh-Jespersen, Amin Timany, Marit Edna Ohlenbusch, Simon Oddershede Gregersen, and Lars Birkedal. 2020. Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems. In Programming Languages and Systems, Peter Müller (Ed.). Springer International Publishing, Cham. 336–365. isbn:978-3-030-44914-8 https://doi.org/10.1007/978-3-030-44914-8_13 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Boris D. Lubachevsky. 1984. An Approach to Automating the Verification of Compact Parallel Coordination Programs. I. Acta Inf., 21, 2 (1984), aug, 125–169. issn:0001-5903 https://doi.org/10.1007/BF00289237 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Haojun Ma, Aman Goel, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci, and Karem A. Sakallah. 2019. I4: Incremental Inference of Inductive Invariants for Verification of Distributed Protocols. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP ’19). Association for Computing Machinery, New York, NY, USA. 370–384. isbn:9781450368735 https://doi.org/10.1145/3341301.3359651 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Ognjen Marić, Christoph Sprenger, and David Basin. 2017. Cutoff Bounds for Consensus Algorithms. In International Conference on Computer Aided Verification. 217–237. https://doi.org/10.1007/978-3-319-63390-9_12 Google ScholarGoogle ScholarCross RefCross Ref
  32. Oded Padon, Giuliano Losa, Mooly Sagiv, and Sharon Shoham. 2017. Paxos Made EPR: Decidable Reasoning about Distributed Protocols. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 108, Oct., 31 pages. https://doi.org/10.1145/3140568 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Oded Padon, Kenneth L. McMillan, Aurojit Panda, Mooly Sagiv, and Sharon Shoham. 2016. Ivy: Safety Verification by Interactive Generalization. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’16). Association for Computing Machinery, New York, NY, USA. 614–630. isbn:9781450342612 https://doi.org/10.1145/2908080.2908118 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Redis. 2021. Redis. https://redis.io/ Google ScholarGoogle Scholar
  35. Sylvain Schmitz and Philippe Schnoebelen. 2013. The Power of Well-Structured Systems. In CONCUR 2013, Pedro R. D’Argenio and Hernán C. Melgratti (Eds.) (Lecture Notes in Computer Science, Vol. 8052). Springer, 5–24. https://doi.org/10.1007/978-3-642-40184-8_2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ilya Sergey, James R. Wilcox, and Zachary Tatlock. 2017. Programming and Proving with Distributed Protocols. Proc. ACM Program. Lang., 2, POPL (2017), Article 28, Dec., 30 pages. https://doi.org/10.1145/3158116 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Ichiro Suzuki. 1988. Proving Properties of a Ring of Finite-State Machines. Inf. Process. Lett., 28, 4 (1988), July, 213–214. issn:0020-0190 https://doi.org/10.1016/0020-0190(88)90211-6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Marcelo Taube, Giuliano Losa, Kenneth L. McMillan, Oded Padon, Mooly Sagiv, Sharon Shoham, James R. Wilcox, and Doug Woos. 2018. Modularity for Decidability of Deductive Verification with Applications to Distributed Systems. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2018). Association for Computing Machinery, New York, NY, USA. 662–677. isbn:9781450356985 https://doi.org/10.1145/3192366.3192414 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Klaus v. Gleissenthall, Rami Gökhan Kıcı, Alexander Bakst, Deian Stefan, and Ranjit Jhala. 2019. Pretend Synchrony: Synchronous Verification of Asynchronous Distributed Programs. Proc. ACM Program. Lang., 3, POPL (2019), Article 59, Jan., 30 pages. https://doi.org/10.1145/3290372 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. James R. Wilcox, Doug Woos, Pavel Panchekha, Zachary Tatlock, Xi Wang, Michael D. Ernst, and Thomas Anderson. 2015. Verdi: A Framework for Implementing and Formally Verifying Distributed Systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’15). Association for Computing Machinery, New York, NY, USA. 357–368. isbn:9781450334686 https://doi.org/10.1145/2737924.2737958 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Enabling Bounded Verification of Doubly-Unbounded Distributed Agreement-Based Systems via Bounded Regions

      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

      • Article Metrics

        • Downloads (Last 12 months)58
        • Downloads (Last 6 weeks)20

        Other Metrics

      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!