Probabilistic self-stabilization
Information Processing Letters
Fundamentals of algorithmics
Probabilistic predicate transformers
ACM Transactions on Programming Languages and Systems (TOPLAS)
A compositional approach to performance modelling
A compositional approach to performance modelling
A Discipline of Programming
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Performance analysis of probabilistic action systems
Formal Aspects of Computing
Abstraction, Refinement And Proof For Probabilistic Systems (Monographs in Computer Science)
Abstraction, Refinement And Proof For Probabilistic Systems (Monographs in Computer Science)
Compositional specification and analysis of cost-based properties in probabilistic programs
FM'05 Proceedings of the 2005 international conference on Formal Methods
Development via refinement in probabilistic b: foundation and case study
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Hi-index | 0.00 |
Formal proofs of functional correctness and rigorous analyses of fault tolerance have, traditionally, been separate processes. In the former a programming logic (proof) or computational model (model checking) is used to establish that all the system’s behaviours satisfy some (specification) criteria. In the latter, techniques derived from engineering are used to determine quantitative properties such as probability of failure (given failure of some component) or expected performance (an average measure of execution time, for example). To combine the formality and the rigour requires a quantitative approach within which functional correctness can be embedded. Programming logics for probability are capable in principle of doing so, and in this article we illustrate the use of the probabilistic guarded-command language (pGCL) and its logic for that purpose. We take self-stabilisation as an example of fault tolerance, and present program-logical techniques for determining, on the one hand, that termination occurs with probability one and, on the other, the the expected time to termination is bounded above by some value. An interesting technical novelty required for this is the recognition of both “angelic” and “demonic” refinement, reflecting our simultaneous interest in both upper- and lower bounds.