Quantitative Program Logic and Performance in Probabilistic Distributed Algorithms

  • Annabelle K. McIver
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1601)


In this paper we show how quantitative program logic [14] provides a formal framework in which to promote standard techniques of program analysis to a context where probability and nondeterminism interact, a situation common to probabilistic distributed algorithms. We show that overall performance can be formulated directly in the logic and that it can be derived from local properties of components. We illustrate the methods with an analysis of performance of the probabilistic dining philosophers [10].


Program Logic Temporal Logic Probabilistic Choice Computation Tree Atomic Step 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. Ben-Ari, A. Pnueli, and Z. Manna. The temporal logic of branching time. Acta Informatica, 20:207–226, 1983.MathSciNetCrossRefzbMATHGoogle Scholar
  2. [2]
    K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, Reading, Mass., 1988.zbMATHGoogle Scholar
  3. [3]
    L. de Alfaro. Temporal logics for the specification of performance and reliability. Proceedings of STACS’ 97, LNCS volume 1200, 1997.Google Scholar
  4. [4]
    E.W. Dijkstra. A Discipline of Programming. Prentice Hall International, Englewood Cliffs, N.J., 1976.zbMATHGoogle Scholar
  5. [5]
    W. Feller. An Introduction to Probability Theory and its Applications, volume 1. Wiley, second edition, 1971.Google Scholar
  6. [6]
    H. Hansson and B. Jonsson. A logic for reasoning about time and probability. Formal Aspects of Computing, 6(5):512–535, 1994.CrossRefzbMATHGoogle Scholar
  7. [7]
    Jifeng He, K. Seidel, and A. K. McIver. Probabilistic models for the guarded command language. Science of Computer Programming, 28(2,3):171–192, January 1997.MathSciNetzbMATHGoogle Scholar
  8. [8]
    D. Kozen. A probabilistic PDL. In Proceedings of the 15th ACM Symposium on Theory of Computing, New York, 1983. ACM.Google Scholar
  9. [9]
    D. Kozen. Results on the propositional μ-calculus. Theoretical Computer Science, 27:333–354, 1983.MathSciNetCrossRefzbMATHGoogle Scholar
  10. [10]
    D. Lehmann and M. O. Rabin. On the advantages of free choice: a symmetric and fully-distributed solution to the Dining Philosophers Problem. In Proceedings of the 8th Annual ACM Symposium on Principles of Programming Languages, pages 133–138, New York, 1981. ACMGoogle Scholar
  11. [11]
    N. Lynch, I. Saias, and R. Segala. Proving time bounds for randomized distributed algorithms. Proceedings of 13th Annual Symposium on Principles of Distributed Algorithms, pages 314–323, 1994.Google Scholar
  12. [12]
    A.K. McIver. Quantitative program logic and efficiency in probabilistic distributed algorithms. Technical report. See QLE98 at http [18].Google Scholar
  13. [13]
    A.K. McIver. Reasoning about efficiency within a probabilistic mucalculus. 1998. Submitted to pre-LICS98 workshop on Probabilistic Methods in Verification.Google Scholar
  14. [14]
    C. C. Morgan, A. K. McIver, and K. Seidel. Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems, 18(3):325–353, May 1996.CrossRefGoogle Scholar
  15. [15]
    Carroll Morgan. The generalised substitution language extended to probabilistic programs. In Proceedings of B’98: the Second International B Conference. See B98 at http [18], number 1397 in LNCS. Springer Verlag, April 1998.Google Scholar
  16. [16]
    Carroll Morgan and Annabelle McIver. A probabilistic temporal calculus based on expectations. In Lindsay Groves and Steve Reeves, editors, Proc. Formal Methods Pacific’ 97. Springer Verlag Singapore, July 1997. Available at [18].Google Scholar
  17. [17]
    C.C. Morgan and A.K. McIver. Correctness proof for the randomised dining philosophers. See RDP96 at http [18].Google Scholar
  18. [18]
    PSG. Probabilistic Systems Group: Collected reports. Google Scholar
  19. [19]
    M. Sharir, A. Pnueli, and S. Hart. Verification of probabilistic programs. SIAM Journal on Computing, 13(2):292–314, May 1984.MathSciNetCrossRefzbMATHGoogle Scholar
  20. [20]
    P. Whittle. Probability via expectations. Wiley, second edition, 1980.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Annabelle K. McIver
    • 1
  1. 1.Programming Research GroupOxford UniversityUK

Personalised recommendations