180 research outputs found
Synthesis of Strategies Using the Hoare Logic of Angelic and Demonic Nondeterminism
We study a propositional variant of Hoare logic that can be used for
reasoning about programs that exhibit both angelic and demonic nondeterminism.
We work in an uninterpreted setting, where the meaning of the atomic actions is
specified axiomatically using hypotheses of a certain form. Our logical
formalism is entirely compositional and it subsumes the non-compositional
formalism of safety games on finite graphs. We present sound and complete
Hoare-style calculi that are useful for establishing partial-correctness
assertions, as well as for synthesizing implementations. The computational
complexity of the Hoare theory of dual nondeterminism is investigated using
operational models, and it is shown that the theory is complete for exponential
time
Domain and range for angelic and demonic compositions
We give finite axiomatizations for the varieties generated by representable
domain--range algebras when the semigroup operation is interpreted as angelic
or demonic composition, respectively
Quantitative program logic and expected time bounds in probabilistic distributed algorithms
AbstractIn this paper we show how quantitative program logic (Morgan et al., ACM Trans. Programming Languages Systems 18 (1996) 325) provides a formal framework in which to promote standard techniques of program analysis to a context where probability and nondeterminism interact, a situation common to probabilistic distributed algorithms. We show that overall expected time can be formulated directly in the logic and that it can be derived from local properties of components. We illustrate the methods with an analysis of expected running time of the probabilistic dining philosophers (Lehmann and Ravin, Proc 8th Annu. ACM. Symp. on principles of Programming Languages, ACM, New York, 1981, p. 133)
DEMONIC programming: a computational language for single-particle equilibrium thermodynamics, and its formal semantics
Maxwell's Demon, 'a being whose faculties are so sharpened that he can follow
every molecule in its course', has been the centre of much debate about its
abilities to violate the second law of thermodynamics. Landauer's hypothesis,
that the Demon must erase its memory and incur a thermodynamic cost, has become
the standard response to Maxwell's dilemma, and its implications for the
thermodynamics of computation reach into many areas of quantum and classical
computing. It remains, however, still a hypothesis. Debate has often centred
around simple toy models of a single particle in a box. Despite their
simplicity, the ability of these systems to accurately represent thermodynamics
(specifically to satisfy the second law) and whether or not they display
Landauer Erasure, has been a matter of ongoing argument. The recent
Norton-Ladyman controversy is one such example.
In this paper we introduce a programming language to describe these simple
thermodynamic processes, and give a formal operational semantics and program
logic as a basis for formal reasoning about thermodynamic systems. We formalise
the basic single-particle operations as statements in the language, and then
show that the second law must be satisfied by any composition of these basic
operations. This is done by finding a computational invariant of the system. We
show, furthermore, that this invariant requires an erasure cost to exist within
the system, equal to kTln2 for a bit of information: Landauer Erasure becomes a
theorem of the formal system. The Norton-Ladyman controversy can therefore be
resolved in a rigorous fashion, and moreover the formalism we introduce gives a
set of reasoning tools for further analysis of Landauer erasure, which are
provably consistent with the second law of thermodynamics.Comment: In Proceedings QPL 2015, arXiv:1511.01181. Dominic Horsman published
previously as Clare Horsma
Non-polynomial Worst-Case Analysis of Recursive Programs
We study the problem of developing efficient approaches for proving
worst-case bounds of non-deterministic recursive programs. Ranking functions
are sound and complete for proving termination and worst-case bounds of
nonrecursive programs. First, we apply ranking functions to recursion,
resulting in measure functions. We show that measure functions provide a sound
and complete approach to prove worst-case bounds of non-deterministic recursive
programs. Our second contribution is the synthesis of measure functions in
nonpolynomial forms. We show that non-polynomial measure functions with
logarithm and exponentiation can be synthesized through abstraction of
logarithmic or exponentiation terms, Farkas' Lemma, and Handelman's Theorem
using linear programming. While previous methods obtain worst-case polynomial
bounds, our approach can synthesize bounds of the form
as well as where is not an integer. We present
experimental results to demonstrate that our approach can obtain efficiently
worst-case bounds of classical recursive algorithms such as (i) Merge-Sort, the
divide-and-conquer algorithm for the Closest-Pair problem, where we obtain
worst-case bound, and (ii) Karatsuba's algorithm for
polynomial multiplication and Strassen's algorithm for matrix multiplication,
where we obtain bound such that is not an integer and
close to the best-known bounds for the respective algorithms.Comment: 54 Pages, Full Version to CAV 201
Healthiness from Duality
Healthiness is a good old question in program logics that dates back to
Dijkstra. It asks for an intrinsic characterization of those predicate
transformers which arise as the (backward) interpretation of a certain class of
programs. There are several results known for healthiness conditions: for
deterministic programs, nondeterministic ones, probabilistic ones, etc.
Building upon our previous works on so-called state-and-effect triangles, we
contribute a unified categorical framework for investigating healthiness
conditions. We find the framework to be centered around a dual adjunction
induced by a dualizing object, together with our notion of relative
Eilenberg-Moore algebra playing fundamental roles too. The latter notion seems
interesting in its own right in the context of monads, Lawvere theories and
enriched categories.Comment: 13 pages, Extended version with appendices of a paper accepted to
LICS 201
Modular Verification of JML Contracts Using Bounded Model Checking
There are two paradigms for dealing with complex verification targets: Modularization using contract-based specifications and whole-program analysis. In this paper, we present an approach bridging the gap between the two paradigms, introducing concepts from the world of contract-based deductive verification into the domain of software bounded model checking. We present a transformation that takes Java programs annotated with contracts written in the Java Modeling Language and turns them into Java programs that can be read by the bounded model checker JBMC. A central idea of the translation is to make use of nondeterministic value assignments to eliminate JML quantifiers. We have implemented our approach and discuss an evaluation, which shows the advantages of the presented approach
- …