Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

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

Published: 06 April 2023 Publication History

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
[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
[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
[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
[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
[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
[7]
Atomix. 2021. Atomix. https://atomix.io/docs/latest/user-manual/primitives/AtomicValue/
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[22]
Hyperledger. 2021. The Hyperledger Project. https://www.hyperledger.org/
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[34]
Redis. 2021. Redis. https://redis.io/
[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
[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
[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
[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
[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
[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

Cited By

View all
  • (2023)BlockASP: A Framework for AOP-Based Model Checking Blockchain SystemIEEE Access10.1109/ACCESS.2023.332506011(115062-115075)Online publication date: 2023

Index Terms

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

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Proceedings of the ACM on Programming Languages
      Proceedings of the ACM on Programming Languages  Volume 7, Issue OOPSLA1
      April 2023
      901 pages
      EISSN:2475-1421
      DOI:10.1145/3554309
      Issue’s Table of Contents
      This work is licensed under a Creative Commons Attribution 4.0 International License.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 06 April 2023
      Published in PACMPL Volume 7, Issue OOPSLA1

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      Author Tags

      1. Data Saturation
      2. Layered Verification
      3. Reduction

      Qualifiers

      • Research-article

      Funding Sources

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)161
      • Downloads (Last 6 weeks)24
      Reflects downloads up to 26 Sep 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)BlockASP: A Framework for AOP-Based Model Checking Blockchain SystemIEEE Access10.1109/ACCESS.2023.332506011(115062-115075)Online publication date: 2023

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Full Access

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media