Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-030-67067-2_10guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Eliminating Message Counters in Synchronous Threshold Automata

Published: 17 January 2021 Publication History

Abstract

In previous work, we introduced synchronous threshold automata for the verification of synchronous fault-tolerant distributed algorithms, and presented a verification method based on bounded model checking. Modeling a distributed algorithm by a threshold automaton requires to correctly deal with the semantics for sending and receiving messages based on the fault assumption. This step was done manually so far, and required human ingenuity. Motivated by similar results for asynchronous threshold automata, in this paper we show that one can start from a faithful model of the distributed algorithm that includes the sending and receiving of messages, and then automatically obtain a threshold automaton by applying quantifier elimination on the receive message counters. In this way, we obtain a fully automated verification pipeline. We present an experimental evaluation, discovering a bug in our previous manual encoding. Interestingly, while quantifier elimination in general produces larger threshold automata than the manual encoding, the verification times are comparable and even faster in several cases, allowing us to verify benchmarks that could not be handled before.

References

[1]
Aminof B, Rubin S, Stoilkovska I, Widder J, and Zuleger F Parameterized model checking of synchronous distributed algorithms by abstraction Verification, Model Checking, and Abstract Interpretation 2018 Cham Springer 1-24
[2]
Attiya H and Welch J Distributed Computing 2004 2 Hoboken Wiley
[3]
Baier C and Katoen JP Principles of Model Checking 2008 United States MITP
[4]
Bakst, A., von Gleissenthall, K., Kici, R.G., Jhala, R.: Verifying distributed programs via canonical sequentialization. PACMPL 1(OOPSLA), 1–27 (2017)
[5]
Balasubramanian, A.R., Esparza, J., Lazić, M.: Complexity of verification and synthesis of threshold automata. In: ATVA (2020)
[6]
Berman, P., Garay, J.A., Perry, K.J.: Asymptotically Optimal Distributed Consensus. Technical report, Bell Labs (1989). http://plan9.bell-labs.co/who/garay/asopt.ps
[7]
Berman, P., Garay, J.A., Perry, K.J.: Towards optimal distributed consensus (Extended Abstract). In: FOCS, pp. 410–415 (1989)
[8]
Bertrand, N., Konnov, I., Lazić, M., Widder, J.: Verification of randomized consensus algorithms under round-rigid adversaries. In: CONCUR, pp. 1–15 (2019)
[9]
Biely M, Schmid U, and Weiss B Synchronous consensus under hybrid process and link failures Theor. Comput. Sci. 2011 412 40 5602-5630
[10]
Bjørner N Giesl J and Hähnle R Linear quantifier elimination as an abstract decision procedure Automated Reasoning 2010 Heidelberg Springer 316-330
[11]
Bjørner N and Janota M Playing with quantified satisfaction LPAR 2015 35 15-27
[12]
Bouajjani A, Enea C, Ji K, and Qadeer S Chockler H and Weissenbacher G On the completeness of verifying message passing programs under bounded asynchrony Computer Aided Verification 2018 Cham Springer 372-391
[13]
Chaouch-Saad M, Charron-Bost B, and Merz S Bournez O and Potapov I A reduction theorem for the verification of round-based distributed algorithms Reachability Problems 2009 Heidelberg Springer 93-106
[14]
Cooper DC Theorem proving in arithmetic without multiplication Mach. Intell. 1972 7 91–99 300
[15]
Damian A, Drăgoi C, Militaru A, and Widder J Dillig I and Tasiran S Communication-closed asynchronous protocols Computer Aided Verification 2019 Cham Springer 344-363
[16]
de Moura L and Bjørner N Ramakrishnan CR and Rehof J Z3: an efficient SMT solver Tools and Algorithms for the Construction and Analysis of Systems 2008 Heidelberg Springer 337-340
[17]
Drăgoi C, Henzinger TA, Veith H, Widder J, and Zufferey D McMillan KL and Rival X A logic-based framework for verifying consensus algorithms Verification, Model Checking, and Abstract Interpretation 2014 Heidelberg Springer 161-181
[18]
Fischer MJ, Lynch NA, and Paterson MS Impossibility of distributed consensus with one faulty process J. ACM 1985 32 2 374-382
[19]
Gleissenthall, K.V., Gökhan Kici, R., Bakst, A., Stefan, D., Jhala, R.: Pretend synchrony. In: POPL (2019)
[20]
Hawblitzel C et al. Ironfleet: proving safety and liveness of practical distributed systemsp Commun. ACM 2017 60 7 83-92
[21]
Srikanth TK and Toueg S Optimal clock synchronization J. ACM 1987 34 3 626-645
[22]
Konnov, I., Lazić, M., Veith, H., Widder, J.: A short counterexample property for safety and liveness verification of fault-tolerant distributed algorithms. In: POPL, pp. 719–734 (2017)
[23]
Konnov I, Veith H, and Widder J On the completeness of bounded model checking for threshold-based distributed algorithms: reachability Inf. Comput. 2017 252 95-109
[24]
Kopetz H and Grünsteidl G TTP - a protocol for fault-tolerant real-time systems IEEE Comput. 1994 27 1 14-23
[25]
Kragl, B., Qadeer, S., Henzinger, T.A.: Synchronizing the asynchronous. In: CONCUR, pp. 1–17 (2018)
[26]
Kukovec, J., Konnov, I., Widder, J.: Reachability in parameterized systems: all flavors of threshold automata. In: CONCUR. LIPIcs, vol. 118, pp. 1–17 (2018)
[27]
Lincoln, P., Rushby, J.: A formally verified algorithm for interactive consistency under a hybrid fault model. In: FTCS, pp. 402–411 (1993)
[28]
Lynch, N.: Distributed Algorithms. Morgan Kaufman (1996)
[29]
Marić O, Sprenger C, and Basin D Majumdar R and Kunčak V Cutoff bounds for consensus algorithms Computer Aided Verification 2017 Cham Springer 217-237
[30]
Presburger, M.: Über die vollständigkeit eines gewissen systems der arithmetik ganzer zahlen, in welchem die addition als einzige operation hervortritt. Comptes Rendus du I congres de Mathématiciens des Pays Slaves, pp. 92–101 (1929)
[31]
Pugh W A practical algorithm for exact array dependence analysis Commun. ACM 1992 35 8 102-114
[32]
Rahli, V., Guaspari, D., Bickford, M., Constable, R.L.: Formal specification, verification, and implementation of fault-tolerant systems using EventML. ECEASST 72 (2015)
[33]
Raynal M Fault-tolerant agreement in synchronous message-passing systems Synth. Lect. Distrib. Comput. Theory 2010 1 1 1-189
[34]
Stoilkovska, I.: Manually Encoded Synchronous Threshold Automata. https://github.com/istoilkovska/syncTA/algorithms. Accessed Oct 2020
[35]
Stoilkovska, I.: Receive Synchronous Threshold Automata. https://github.com/istoilkovska/syncTA/receiveSTA. Accessed Oct 2020
[36]
Stoilkovska I, Konnov I, Widder J, and Zuleger F Vojnar T and Zhang L Verifying safety of synchronous fault-tolerant algorithms by bounded model checking Tools and Algorithms for the Construction and Analysis of Systems 2019 Cham Springer 357-374
[37]
Stoilkovska I, Konnov I, Widder J, and Zuleger F Hung DV and Sokolsky O Eliminating message counters in threshold automata Automated Technology for Verification and Analysis 2020 Cham Springer 196-212
[38]
Wilcox, J.R., et al.: Verdi: a framework for implementing and formally verifying distributed systems. In: PLDI, pp. 357–368 (2015)

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Verification, Model Checking, and Abstract Interpretation: 22nd International Conference, VMCAI 2021, Copenhagen, Denmark, January 17–19, 2021, Proceedings
Jan 2021
607 pages
ISBN:978-3-030-67066-5
DOI:10.1007/978-3-030-67067-2
  • Editors:
  • Fritz Henglein,
  • Sharon Shoham,
  • Yakir Vizel

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 17 January 2021

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media