Skip to main content
Log in

Algorithmic probabilistic game semantics

Playing games with automata

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We present a detailed account of a translation from probabilistic call-by-value programs with procedures to Rabin’s probabilistic automata. The translation is fully abstract in that programs exhibit the same computational behaviour if and only if the corresponding automata are language-equivalent. Since probabilistic language equivalence is decidable, we can apply the translation to analyse the behaviour of probabilistic programs and protocols. We illustrate our approach on a number of case studies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. Note that we need to talk about subdistributions because of divergence.

  2. Readers familiar with game semantics will notice that we omit justification pointers. This is because they are uniquely recoverable in the sequences of moves under consideration.

References

  1. Abramsky S (2002) Algorithmic games semantics: a tutorial introduction. In: Schwichtenberg H, Steinbruggen R (eds) Proof and system reliability. Kluwer Academic, Dordrecht, pp 21–47. Proceedings of the NATO Advanced Study Institute, Marktoberdorf

    Chapter  Google Scholar 

  2. Abramsky S, McCusker G (1997) Call-by-value games. In: Proceedings of CSL. Lecture notes in computer science, vol 1414. Springer, Berlin, pp 1–17

    Google Scholar 

  3. Abramsky S, McCusker G (1998) Game semantics. In: Schwichtenberg H, Berger U (eds) Logic and computation. Springer, Berlin. Proceedings of the 1997 Marktoberdorf Summer School

    Google Scholar 

  4. Abramsky S, Jagadeesan R, Malacaria P (2000) Full abstraction for PCF. Inf Comput 163:409–470

    Article  MathSciNet  MATH  Google Scholar 

  5. Bause F, Buchholz P, Kemper P (1998) A toolbox for functional and quantitative analysis of DEDS. In: Proceedings of computer performance evaluation (tools). LNCS, vol 1469

    Google Scholar 

  6. Bernardo M, Cleaveland R, Sims S, Stewart W (1998) TwoTowers: a tool integrating functional and performance analysis of concurrent systems. In: Proceedings of FORTE. IFIP conference proceedings, vol 135

    Google Scholar 

  7. Bhargava M, Palamidessi C (2005) Probabilistic anonymity. In: CONCUR. Lecture notes in computer science, vol 3653. Springer, Berlin, pp 171–185

    Google Scholar 

  8. Chaum D (1988) The dining cryptographers problem: unconditional sender and recipient untraceability. J Cryptol 1(1):65–75

    Article  MathSciNet  MATH  Google Scholar 

  9. Ciesinski F, Baier C (2006) LiQuor: a tool for qualitative and quantitative linear time analysis of reactive systems. In: Proceedings of QEST. IEEE Computer Society, Washington

    Google Scholar 

  10. Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn. MIT Press, Cambridge

    MATH  Google Scholar 

  11. Danos V, Harmer R (2002) Probabilistic game semantics. ACM Trans Comput Log 3(3):359–382

    Article  MathSciNet  Google Scholar 

  12. D’Argenio PR, Jeannet B, Jensen HE, Larsen KG (2001) Reachability analysis of probabilistic systems by successive refinements. In: Proceedings of PAPM-PROBMIV. LNCS, vol 2165

    Google Scholar 

  13. Dreyer D, Neis G, Birkedal L (2010) The impact of higher-order state and control effects on local relational reasoning. In: Proceedings of ICFP. ACM, New York, pp 143–156

    Google Scholar 

  14. Hartonas-Garmhausen V, Vale Aguiar Campos S, Clarke EM (1999) ProbVerus: probabilistic symbolic model checking. In: Proceedings of ARTS. LNCS, vol 1601

    Google Scholar 

  15. Hermanns H, Katoen J-P, Meyer-Kayser J, Siegle M (2000) A Markov chain model checker. In: Proceedings of TACAS. LNCS, vol 1785

    Google Scholar 

  16. Hibbard TN (1962) Some combinatorial properties of certain trees with applications to searching and sorting. J ACM 9(1):13–28

    Article  MathSciNet  MATH  Google Scholar 

  17. Honda K, Yoshida N (1999) Game-theoretic analysis of call-by-value computation. Theor Comput Sci 221(1–2):393–456

    Article  MathSciNet  MATH  Google Scholar 

  18. Hopkins D, Murawski AS, Ong C-HL (2011) A fragment of ML decidable by visibly pushdown automata. In: Proceedings of ICALP. Lecture notes in computer science, vol 6756. Springer, Berlin, pp 149–161

    Google Scholar 

  19. Hurd J (2002) Formal verification of probabilistic algorithms. PhD thesis, University of Cambridge

  20. Hyland JME, Ong C-HL (2000) On full abstraction for PCF: I. Models, observables and the full abstraction problem, II. Dialogue games and innocent strategies, III. A fully abstract and universal game model. Inf Comput 163(2):285–408

    Article  MathSciNet  MATH  Google Scholar 

  21. Jonassen AT, Knuth DE (1978) A trivial algorithm whose analysis isn’t. J Comput Syst Sci 16(3):301–322

    Article  MathSciNet  MATH  Google Scholar 

  22. Kacprzak M, Lomuscio A, Niewiadomski A, Penczek W, Raimondi F, Szreter M (2006) Comparing bdd and sat based techniques for model checking Chaum’s dining cryptographers protocol. Fundam Inform 72(1–3):215–234

    MathSciNet  MATH  Google Scholar 

  23. Katoen J-P, Khattri M, Zapreev IS (2005) A Markov reward model checker. In: Proceedings of QEST. IEEE Computer Society, Washington

    Google Scholar 

  24. Kiefer S, Murawski AS, Ouaknine J, Wachter B, Worrell J (2011) Language equivalence for probabilistic automata. In: CAV. Lecture notes in computer science, vol 6806. Springer, Berlin, pp 526–540

    Google Scholar 

  25. Knott GD (1975) Deletion in binary storage trees. PhD thesis, Stanford University. Computer Science Technical Report STAN-CS-75-491

  26. Knuth DE (1973) Sorting and searching. In: The art of computer programming, vol 3 (first printing). Addison-Wesley, Reading

    Google Scholar 

  27. Kwiatkowska MZ, Norman G, Parker D (2011) Prism 4.0: verification of probabilistic real-time systems. In: CAV, pp 585–591

    Google Scholar 

  28. Legay A, Murawski AS, Ouaknine J, Worrell J (2008) On automated verification of probabilistic programs. In: Proceedings of TACAS. Lecture notes in computer science, vol 4963. Springer, Berlin, pp 173–187

    Google Scholar 

  29. McIver A, Morgan C (2005) Abstraction and refinement in probabilistic systems. SIGMETRICS Perform Eval Rev 32(4):41–47

    Article  Google Scholar 

  30. McIver A, Morgan C (2010) The thousand-and-one cryptographers. In: Reflections on the work of CAR Hoare. Springer, Berlin

    Google Scholar 

  31. Milner R (1977) Fully abstract models of typed lambda-calculi. Theor Comput Sci 4(1):1–22

    Article  MathSciNet  MATH  Google Scholar 

  32. Mohri M (2002) Generic e-removal and input e-normalization algorithms for weighted transducers. Int J Found Comput Sci 13(1):129–143

    Article  MathSciNet  MATH  Google Scholar 

  33. Motwani R, Raghavan P (1995) Randomized algorithms. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  34. Murawski AS (2005) Functions with local state: regularity and undecidability. Theor Comput Sci 338(1/3):315–349

    Article  MathSciNet  MATH  Google Scholar 

  35. Murawski AS, Ouaknine J (2005) On probabilistic program equivalence and refinement. In: Proceedings of CONCUR. Lecture notes in computer science, vol 3653. Springer, Berlin, pp 156–170

    Google Scholar 

  36. Nickau H (1994) Hereditarily sequential functionals. In: Proceedings of the symposium of logical foundations of computer science. LNCS. Springer, Berlin

    Google Scholar 

  37. Rabin MO (1963) Probabilistic automata. Inf Control 6(3):230–245

    Article  MATH  Google Scholar 

  38. Rabin MO (1976) Probabilistic algorithms. In: Algorithms and complexity: new directions and results. Academic Press, New York, pp 21–39

    Google Scholar 

  39. Reiter MK, Rubin AD (1998) Crowds: anonymity for web transactions. ACM Trans Inf Syst Secur 1(1):66–92

    Article  Google Scholar 

  40. Reynolds JC (1978) The essence of Algol. In: de Bakker JW, van Vliet JC (eds) Algorithmic languages. North-Holland, Amsterdam, pp 345–372

    Google Scholar 

  41. Sangiorgi D, Kobayashi N, Sumii E (2011) Environmental bisimulations for higher-order languages. ACM Trans Program Lang Syst 33(1):5

    Article  Google Scholar 

  42. Schneider S, Sidiropoulos A (1996) Csp and anonymity. In: ESORICS. Lecture notes in computer science, vol 1146. Springer, Berlin, pp 198–218

    Chapter  Google Scholar 

  43. Shmatikov V (2004) Probabilistic model checking of an anonymity system. J Comput Secur 12(3/4):355–377

    Google Scholar 

  44. van der Meyden R, Su K (2004) Symbolic model checking the knowledge of the dining cryptographers. In: CSFW. IEEE Computer Society, Washington, p 280

    Google Scholar 

  45. van Glabbeek RJ, Smolka SA, Steffen B (1995) Reactive, generative and stratified models of probabilistic processes. Inf Comput 121(2):285–408

    Google Scholar 

  46. Younes HLS (2005) Ymer: a statistical model checker. In: Proceedings of CAV. LNCS, vol 3576

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrzej S. Murawski.

Additional information

Research funded by EPSRC (EP/G069158/1).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kiefer, S., Murawski, A.S., Ouaknine, J. et al. Algorithmic probabilistic game semantics. Form Methods Syst Des 43, 285–312 (2013). https://doi.org/10.1007/s10703-012-0173-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-012-0173-1

Keywords

Navigation