74 research outputs found
A New Proof Rule for Almost-Sure Termination
An important question for a probabilistic program is whether the probability
mass of all its diverging runs is zero, that is that it terminates "almost
surely". Proving that can be hard, and this paper presents a new method for
doing so; it is expressed in a program logic, and so applies directly to source
code. The programs may contain both probabilistic- and demonic choice, and the
probabilistic choices may depend on the current state.
As do other researchers, we use variant functions (a.k.a.
"super-martingales") that are real-valued and probabilistically might decrease
on each loop iteration; but our key innovation is that the amount as well as
the probability of the decrease are parametric.
We prove the soundness of the new rule, indicate where its applicability goes
beyond existing rules, and explain its connection to classical results on
denumerable (non-demonic) Markov chains.Comment: V1 to appear in PoPL18. This version collects some existing text into
new example subsection 5.5 and adds a new example 5.6 and makes further
remarks about uncountable branching. The new example 5.6 relates to work on
lexicographic termination methods, also to appear in PoPL18 [Agrawal et al,
2018
Hidden-Markov Program Algebra with iteration
We use Hidden Markov Models to motivate a quantitative compositional
semantics for noninterference-based security with iteration, including a
refinement- or "implements" relation that compares two programs with respect to
their information leakage; and we propose a program algebra for source-level
reasoning about such programs, in particular as a means of establishing that an
"implementation" program leaks no more than its "specification" program.
This joins two themes: we extend our earlier work, having iteration but only
qualitative, by making it quantitative; and we extend our earlier quantitative
work by including iteration. We advocate stepwise refinement and
source-level program algebra, both as conceptual reasoning tools and as targets
for automated assistance. A selection of algebraic laws is given to support
this view in the case of quantitative noninterference; and it is demonstrated
on a simple iterated password-guessing attack
Towards Concurrent Quantitative Separation Logic
In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of all three paradigms. To close this gap, we combine two kinds of separation logic - Quantitative Separation Logic and Concurrent Separation Logic - into a new separation logic that enables reasoning about lower bounds of the probability to realise a postcondition by executing such a program
Development of Rabin’s Choice Coordination Algorithm in Event-B
The paper reports our investigation on tool support for the integration of qualitative probabilistic reasoning into Event-B. In the process, we formalise a non- trivial algorithm, namely Rabin’s choice coordination. Our correctness reasoning is a combination of termination proofs in terms of probabilistic convergence and standard invariant techniques. Moreover, we describe how qualitative probabilistic reasoning can be maintained during refinement
Cost Analysis of Nondeterministic Probabilistic Programs
We consider the problem of expected cost analysis over nondeterministic
probabilistic programs, which aims at automated methods for analyzing the
resource-usage of such programs. Previous approaches for this problem could
only handle nonnegative bounded costs. However, in many scenarios, such as
queuing networks or analysis of cryptocurrency protocols, both positive and
negative costs are necessary and the costs are unbounded as well.
In this work, we present a sound and efficient approach to obtain polynomial
bounds on the expected accumulated cost of nondeterministic probabilistic
programs. Our approach can handle (a) general positive and negative costs with
bounded updates in variables; and (b) nonnegative costs with general updates to
variables. We show that several natural examples which could not be handled by
previous approaches are captured in our framework.
Moreover, our approach leads to an efficient polynomial-time algorithm, while
no previous approach for cost analysis of probabilistic programs could
guarantee polynomial runtime. Finally, we show the effectiveness of our
approach by presenting experimental results on a variety of programs, motivated
by real-world applications, for which we efficiently synthesize tight
resource-usage bounds.Comment: A conference version will appear in the 40th ACM Conference on
Programming Language Design and Implementation (PLDI 2019
- …