Analysing Randomized Distributed Algorithms

Randomization is of paramount importance in practical applications and randomized algorithms are used widely, for example in co-ordinating distributed computer networks, message routing and cache management. The appeal of randomized algorithms is their simplicity and elegance. However, this comes at a cost: the analysis of such systems become very complex, particularly in the context of distributed computation. This arises through the interplay between probability and nondeterminism. To prove a randomized distributed algorithm correct one usually involves two levels: classical, assertion-based reasoning, and a probabilistic analysis based on a suitable probability space on computations. In this paper we describe a number of approaches which allows us to verify the correctness of randomized distributed algorithms.

[1]  Joe Hurd,et al.  Formal verification of probabilistic algorithms , 2003 .

[2]  Laurent Fribourg,et al.  Randomized Finite-State Distributed Algorithms as Markov Chains , 2001, DISC.

[3]  Michael O. Rabin,et al.  N-Process Mutual Exclusion with Bounded Waiting by 4 Log_2 N-Valued Shared Variable , 1982, J. Comput. Syst. Sci..

[4]  Michael K. Reiter,et al.  Crowds: anonymity for Web transactions , 1998, TSEC.

[5]  Amir Pnueli,et al.  Probabilistic Verification , 1993, Information and Computation.

[6]  Richard Lassaigne,et al.  Approximate Verification of Probabilistic Systems , 2002, PAPM-PROBMIV.

[7]  Henrik Ejersbo Jensen Model Checking Probabilistic Real Time Systems , 1996 .

[8]  A. W. Roscoe,et al.  Data Independent Induction over Structured Networks , 2000, PDPTA.

[9]  Bengt Jonsson,et al.  A calculus for communicating systems with time and probabilities , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[10]  Marta Z. Kwiatkowska,et al.  Verifying Randomized Byzantine Agreement , 2002, FORTE.

[11]  H. S. ALLEN Time and Probability , 1938, Nature.

[12]  Shay Kutten,et al.  Time Optimal Self-Stabilizing Spanning Tree Algorithms , 1993, FSTTCS.

[13]  Victor Shoup,et al.  Secure and Efficient Asynchronous Broadcast Protocols , 2001, CRYPTO.

[14]  Thomas A. Henzinger,et al.  You Assume, We Guarantee: Methodology and Case Studies , 1998, CAV.

[15]  Kim G. Larsen,et al.  Bisimulation through Probabilistic Testing , 1991, Inf. Comput..

[16]  Scott A. Smolka,et al.  Compositional analysis of expected delays in networks of probabilistic I/O automata , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[17]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[18]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[19]  Aggelos Kiayias,et al.  Self Protecting Pirates and Black-Box Traitor Tracing , 2001, CRYPTO.

[20]  Amos Israeli,et al.  Token management schemes and random walks yield self-stabilizing mutual exclusion , 1990, PODC '90.

[21]  Joost-Pieter Katoen,et al.  Lectures on Formal Methods and PerformanceAnalysis , 2001, Lecture Notes in Computer Science.

[22]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[23]  Nancy A. Lynch,et al.  Probabilistic Simulations for Probabilistic Processes , 1994, Nord. J. Comput..

[24]  Marta Z. Kwiatkowska,et al.  Probabilistic Model Checking of the IEEE 802.11 Wireless Local Area Network Protocol , 2002, PAPM-PROBMIV.

[25]  Frits W. Vaandrager,et al.  Root Contention in IEEE 1394 , 1999, ARTS.

[26]  Annabelle McIver Quantitative program logic and expected time bounds in probabilistic distributed algorithms , 2002, Theor. Comput. Sci..

[27]  Marta Z. Kwiatkowska,et al.  Symbolic Computation of Maximal Probabilistic Reachability , 2001, CONCUR.

[28]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..

[29]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[30]  Marta Z. Kwiatkowska,et al.  Automated Verification of a Randomized Distributed Consensus Protocol Using Cadence SMV and PRISM , 2001, CAV.

[31]  Kousha Etessami,et al.  A Hierarchy of Polynomial-Time Computable Simulations for Automata , 2002, CONCUR.

[32]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[33]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[34]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[35]  Kenneth L. McMillan,et al.  Verification of Infinite State Systems by Compositional Model Checking , 1999, CHARME.

[36]  Marta Z. Kwiatkowska,et al.  Probabilistic Model Checking of Deadline Properties in the IEEE 1394 FireWire Root Contention Protocol , 2003, Formal Aspects of Computing.

[37]  Kim Guldstrand Larsen,et al.  Specification and refinement of probabilistic processes , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[38]  Maurice Herlihy,et al.  Fast Randomized Consensus Using Shared Memory , 1990, J. Algorithms.

[39]  Stephen Gilmore,et al.  Specifying Performance Measures for PEPA , 1999, ARTS.

[40]  Isaac Saias,et al.  Proving probabilistic correctness statements: the case of Rabin's algorithm for mutual exclusion , 1992, PODC '92.

[41]  Hans A. Hansson Time and probability in formal design of distributed systems , 1991, DoCS.

[42]  Rajeev Alur,et al.  Model-Checking in Dense Real-time , 1993, Inf. Comput..

[43]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[44]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[45]  Marta Z. Kwiatkowska,et al.  Automatic verification of real-time systems with discrete probability distributions , 1999, Theor. Comput. Sci..

[46]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[47]  Wang Yi,et al.  Testing Probabilistic and Nondeterministic Processes , 1992, PSTV.

[48]  Roberto Segala,et al.  Formal verification of timed properties of randomized distributed algorithms , 1995, PODC '95.

[49]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[50]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[51]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[52]  A. Paz Probabilistic algorithms , 2003 .

[53]  Amir Pnueli,et al.  Network Invariants in Action , 2002, CONCUR.

[54]  Gavin Lowe,et al.  Probabilities and priorities in timed CSP , 1993 .

[55]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[56]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[57]  Amir Pnueli,et al.  Control and data abstraction: the cornerstones of practical formal verification , 2000, International Journal on Software Tools for Technology Transfer.

[58]  Roberto Segala,et al.  Coin Lemmas with Random Variables , 2001, PAPM-PROBMIV.

[59]  Rance Cleaveland,et al.  Testing Preorders for Probabilistic Processes , 1992, Inf. Comput..

[60]  Michael Huth,et al.  Quantitative analysis and model checking , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[61]  Joe Hurd,et al.  Verification of the Miller-Rabin probabilistic primality test , 2003, J. Log. Algebraic Methods Program..

[62]  Amos Israeli,et al.  Analyzing Expected Time by Scheduler-Luck Games , 1995, IEEE Trans. Software Eng..

[63]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[64]  Joseph F. Traub,et al.  Algorithms and Complexity: New Directions and Recent Results , 1976 .

[65]  Holger Hermanns,et al.  Process Algebra and Probabilistic Methods: Performance Modeling and Verification , 2002, Lecture Notes in Computer Science.

[66]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[67]  Roberto Segala,et al.  Verification of Randomized Distributed Algorithms , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[68]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[69]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[70]  Roberto Segala,et al.  The Essence of Coin Lemmas , 1998, PROBMIV.

[71]  Andrea Bianco,et al.  Model Checking of Probabalistic and Nondeterministic Systems , 1995, FSTTCS.

[72]  Conrado Daws,et al.  Automatic verification of the IEEE 1394 root contention protocol with KRONOS and PRISM , 2002, International Journal on Software Tools for Technology Transfer.

[73]  Victor Shoup,et al.  Practical Threshold Signatures , 2000, EUROCRYPT.

[74]  Victor Shoup,et al.  Secure and efficient asynchronous broadcast protocols : (Extended abstract) , 2001, CRYPTO 2001.

[75]  Zohar Manna,et al.  Formal verification of probabilistic systems , 1997 .

[76]  Alain Isaac Saias Randomness versus non-determinism in distributed computing , 1994 .

[77]  Luca de Alfaro,et al.  Temporal Logics for the Specification of Performance and Reliability , 1997, STACS.

[78]  Luca de Alfaro,et al.  How to Specify and Verify the Long-Run Average Behavior of Probabilistic Systems , 1998, LICS.

[79]  Thomas A. Henzinger,et al.  Compositional Methods for Probabilistic Systems , 2001, CONCUR.

[80]  Gavin Lowe,et al.  Representing Nondeterministic and Probabilistic Behaviour in Reactive Processes , 1993 .

[81]  Amir Pnueli,et al.  Verification of multiprocess probabilistic protocols , 2005, Distributed Computing.

[82]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[83]  Eyal Kushilevitz,et al.  Randomized mutual exclusion algorithms revisited , 1992, PODC '92.

[84]  Annabelle McIver,et al.  An Expectation-Transformer Model for Probabilistic Temporal Logic , 1999, Log. J. IGPL.

[85]  Ramon Puigjaner,et al.  Computer Performance Evaluation , 2000, Lecture Notes in Computer Science.

[86]  Laurent Fribourg,et al.  Randomized dining philosophers without fairness assumption , 2002, Distributed Computing.

[87]  Luca de Alfaro,et al.  From Fairness to Chance , 1998, PROBMIV.

[88]  Annabelle McIver,et al.  The probabilistic steam boiler: a case study in probabilistic data refinement , 1998 .

[89]  Kenneth L. McMillan,et al.  A methodology for hardware verification using compositional model checking , 2000, Sci. Comput. Program..

[90]  Vitaly Shmatikov,et al.  Probabilistic analysis of anonymity , 2002, Proceedings 15th IEEE Computer Security Foundations Workshop. CSFW-15.

[91]  Marta Z. Kwiatkowska,et al.  PRISM: Probabilistic Symbolic Model Checker , 2002, Computer Performance Evaluation / TOOLS.

[92]  Scott A. Smolka,et al.  Composition and Behaviors of Probabilistic I/O Automata , 1994, CONCUR.

[93]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[94]  Ieee Standards Board IEEE Standard for a High Performance Serial Bus-Amendment 1 , 2000 .

[95]  Stephan Merz,et al.  Model Checking , 2000 .

[96]  Cyrus Derman,et al.  Finite State Markovian Decision Processes , 1970 .

[97]  Roberto Segala,et al.  Verification of the randomized consensus algorithm of Aspnes and Herlihy: a case study , 2000, Distributed Computing.

[98]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[99]  Bart Preneel,et al.  Advances in cryptology - EUROCRYPT 2000 : International Conference on the Theory and Application of Cryptographic Techniques, Bruges, Belgium, May 14-18, 2000 : proceedings , 2000 .

[100]  Henrik Ejersbo Jensen,et al.  Reachability Analysis of Probabilistic Systems by Successive Refinements , 2001, PAPM-PROBMIV.

[101]  Feller William,et al.  An Introduction To Probability Theory And Its Applications , 1950 .

[102]  Christel Baier,et al.  Model checking for a probabilistic branching time logic with fairness , 1998, Distributed Computing.

[103]  Nancy A. Lynch,et al.  Proving time bounds for randomized distributed algorithms , 1994, PODC '94.

[104]  L. D. Alfaro,et al.  How to specify and verify the long-run average behaviour of probabilistic systems , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[105]  Kim G. Larsen,et al.  Reduction and Refinement Strategies for Probabilistic Analysis , 2002, PAPM-PROBMIV.

[106]  Amir Pnueli,et al.  Automatic Verification of Probabilistic Free Choice , 2002, VMCAI.

[107]  S. Hart,et al.  Termination of Probabilistic Concurrent Programs. , 1982 .

[108]  Annabelle McIver,et al.  Refinement-oriented probability for CSP , 1996, Formal Aspects of Computing.