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.
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- Atomix. 2021. Atomix. https://atomix.io/docs/latest/user-manual/primitives/AtomicValue/
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Hyperledger. 2021. The Hyperledger Project. https://www.hyperledger.org/
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Redis. 2021. Redis. https://redis.io/
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Enabling Bounded Verification of Doubly-Unbounded Distributed Agreement-Based Systems via Bounded Regions
Recommendations
Bounded Semantics of CTL and SAT-Based Verification
ICFEM '09: Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software EngineeringBounded model checking has been proposed as a complementary approach to BDD based symbolic model checking for combating the state explosion problem, esp. for efficient error detection. This has led to a lot of successful work with respect to error ...
Evaluation of SAT-based Bounded Model Checking of ACTL Properties
TASE '07: Proceedings of the First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software EngineeringBounded model checking (BMC) based on SAT has been introduced as a complementary method to BDDbased symbolic model checking of LTL and ACTL properties in recent years. For general LTL and ACTL properties, BMC has traditionally aimed mainly at error ...
Handling loops in bounded model checking of C programs via k-induction
The first attempts to apply the k-induction method to software verification are only recent. In this paper, we present a novel proof by induction algorithm, which is built on the top of a symbolic context-bounded model checker and uses an iterative ...






Comments