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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Dijkstra, E.: Making a fair roulette from a possibly biased coin. Information Processing Letters 36, 193 (1990)
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)
Filar, J., Vrieze, O.J.: Competitive Markov Decision Processes: Theory, Algorithms, and Applications. Springer, Heidelberg (1996)
Gonzalia, C.: Source and scripts for the normal form analyser and distribution generator www.ics.mq.edu.au/~carlos
Gries, D., Prins, J.: A new notion of encapsulation. In: Symposium on Language Issues in Programming Environments, ACM Press, New York (1983)
Grimmett, G.R., Welsh, D.: Probability: an Introduction. Oxford Science Publications (1986)
Hallerstede, S., Butler, M.: Performance analysis of probabilistic action systems. Formal Aspects of Computing 16(4), 313–331 (2004)
He, J., Seidel, K., McIver, A.K.: Probabilistic models for the guarded command language. Science of Computer Programming 28, 171–192 (1997)
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)
Hoang, T.S.: The Development of a Probabilistic B-Method and a Supporting Toolkit. PhD thesis, School of Computer Science and Engineering (2005)
Hurd, J., McIver, A.K., Morgan, C.C.: Probabilistic guarded commands mechanised in HOL. In: Theoretical Computer Science, pp. 96–112 (2005)
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)
Lazic, R.: A Semantic Study of Data Independence with Applications to Model Checking. PhD thesis, Programming Research Group (1999)
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)
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)
McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. In: Technical Monographs in Computer Science, Springer, New York (2004)
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)
Monniaux, D.: Abstract interpretation of probabilistic semantics. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, Springer, Heidelberg (2000)
Morgan, C.: Private communication. The Lamington model: a probabilistic model with miracles (1995)
Morgan, C.C.: The specification statement. ACM Transactions on Programming Languages and Systems 10(3), 403–419 (1988)
Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)
PRISM. Probabilistic symbolic model checker, www.cs.bham.ac.uk/~dxp/prism
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)
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)
Sere, K., Troubitsyna, E.: Probabilities in action systems. In: Proc. of the 8th Nordic Workshop on Programming Theory (1996)
Author information
Authors and Affiliations
Editor information
Rights 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)