Skip to main content

Automating Refinement Checking in Probabilistic System Design

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4789))

Abstract

Refinement plays a crucial role in “top-down” styles of verification, such as the refinement calculus, but for probabilistic systems proof of refinement is a particularly challenging task due to the combination of probability and nondeterminism which typically arises in partially-specified systems.

Whilst the theory of probabilistic refinement is well-known [18] there are few tools to help with establishing refinements between programs.

In this paper we describe a tool which provides partial support during refinement proofs. The tool essentially builds small models of programs using an algebraic rewriting system to extract the overall probabilistic behaviour. We use that behaviour to recast refinement-checking as a linear satisfiability problem, which can then be exported to a linear arithmetic solver.

One of the major benefits of this approach is the ability to generate counterexamples, alerting the prover to a problem in a proposed refinement.

We demonstrate the technique on a small case study based on Schneider et al.’s Tank Monitoring [26].

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. McIver, A., Weber, T.: Towards automated proof support for probabilistic distributed systems. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Celiku, O., McIver, A.: Compositional specification and analysis of cost-based properties in probabilistic programs. In: Fitzgerald, J.A., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 107–122. Springer, Heidelberg (2005)

    Google Scholar 

  3. Dijkstra, E.: Making a fair roulette from a possibly biased coin. Information Processing Letters 36, 193 (1990)

    Article  MATH  Google Scholar 

  4. Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T)*. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)

    Google Scholar 

  5. Filar, J., Vrieze, O.J.: Competitive Markov Decision Processes: Theory, Algorithms, and Applications. Springer, Heidelberg (1996)

    Google Scholar 

  6. Gonzalia, C.: Source and scripts for the normal form analyser and distribution generator www.ics.mq.edu.au/~carlos

  7. Gries, D., Prins, J.: A new notion of encapsulation. In: Symposium on Language Issues in Programming Environments, ACM Press, New York (1983)

    Google Scholar 

  8. Grimmett, G.R., Welsh, D.: Probability: an Introduction. Oxford Science Publications (1986)

    Google Scholar 

  9. Hallerstede, S., Butler, M.: Performance analysis of probabilistic action systems. Formal Aspects of Computing 16(4), 313–331 (2004)

    Article  MATH  Google Scholar 

  10. He, J., Seidel, K., McIver, A.K.: Probabilistic models for the guarded command language. Science of Computer Programming 28, 171–192 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  11. Hoang, T.S., Morgan, C.C., McIver, A., Robinson, K.A., Jin, Z.D: Refinement in probabilistic B: Foundation and case study. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 252–273. Springer, Heidelberg (2005)

    Google Scholar 

  12. Hoang, T.S.: The Development of a Probabilistic B-Method and a Supporting Toolkit. PhD thesis, School of Computer Science and Engineering (2005)

    Google Scholar 

  13. Hurd, J., McIver, A.K., Morgan, C.C.: Probabilistic guarded commands mechanised in HOL. In: Theoretical Computer Science, pp. 96–112 (2005)

    Google Scholar 

  14. Jones, C., Plotkin, G.: A probabilistic powerdomain of evaluations. In: Proceedings of the IEEE 4th Annual Symposium on Logic in Computer Science, pp. 186–195. IEEE Computer Society Press, Los Alamitos (1989)

    Google Scholar 

  15. Lazic, R.: A Semantic Study of Data Independence with Applications to Model Checking. PhD thesis, Programming Research Group (1999)

    Google Scholar 

  16. McIver, A.: Quantitative refinement and model checking for the analysis of probabilistic systems. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 131–146. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  17. McIver, A., Cohen, E., Morgan, C.: Using probabilistic kleene algebra for protocol verification. In: Schmidt, R.A. (ed.) RelMiCS/AKA 2006. LNCS, vol. 4136, Springer, Heidelberg (2006)

    Google Scholar 

  18. McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. In: Technical Monographs in Computer Science, Springer, New York (2004)

    Google Scholar 

  19. Meinicke, L., Hayes, I.J.: Reasoning algebraically about probabilistic loops. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 380–399. Springer, Heidelberg (2006)

    Google Scholar 

  20. Monniaux, D.: Abstract interpretation of probabilistic semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, Springer, Heidelberg (2000)

    Google Scholar 

  21. Morgan, C.: Private communication. The Lamington model: a probabilistic model with miracles (1995)

    Google Scholar 

  22. Morgan, C.C.: The specification statement. ACM Transactions on Programming Languages and Systems 10(3), 403–419 (1988)

    Article  MATH  Google Scholar 

  23. Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)

    MATH  Google Scholar 

  24. PRISM. Probabilistic symbolic model checker, www.cs.bham.ac.uk/~dxp/prism

  25. Rabin, M.O.: N-process mutual exclusion with bounded waiting by 4log2n-valued shared variable. Journal of Computer and System Sciences 25(1), 66–75 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  26. Schneider, S., Hoang, T.S., Robinson, K.A., Treharne, H.: Tank monitoring: a case study in pAMN. Formal Aspects of Computing 18(3), 308–328 (2006)

    Article  MATH  Google Scholar 

  27. Sere, K., Troubitsyna, E.: Probabilities in action systems. In: Proc. of the 8th Nordic Workshop on Programming Theory (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Butler Michael G. Hinchey María M. Larrondo-Petrie

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gonzalia, C., McIver, A. (2007). Automating Refinement Checking in Probabilistic System Design. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds) Formal Methods and Software Engineering. ICFEM 2007. Lecture Notes in Computer Science, vol 4789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76650-6_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-76650-6_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-76648-3

  • Online ISBN: 978-3-540-76650-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics