Results 1  10
of
13
Nitpicking C++ Concurrency
, 2011
"... Previous work formalized the C++ memory model in Isabelle/HOL in an effort to clarify the proposed standard’s semantics. Here we employ the model finder Nitpick to check litmus test programs that exercise the memory model, including a simple locking algorithm. Nitpick is built on Kodkod (Alloy’s bac ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
Previous work formalized the C++ memory model in Isabelle/HOL in an effort to clarify the proposed standard’s semantics. Here we employ the model finder Nitpick to check litmus test programs that exercise the memory model, including a simple locking algorithm. Nitpick is built on Kodkod (Alloy’s backend) but understands Isabelle’s richer logic; hence it can be applied directly to the C++ memory model. We only need to give it a few hints, and thanks to the underlying SAT solver it scales much better than the CPPMEM explicitstate model checker. This case study inspired optimizations in Nitpick from which other formalizations can now benefit.
Using probabilistic kleene algebra for protocol verification
 In Relmics/AKA 2006, volume 4136 of LNCS
"... Abstract. We describe pKA, a probabilistic Kleenestyle algebra, based on a well known model of probabilistic/demonic computation [3, 16, 10]. Our technical aim is to express probabilistic versions of Cohen’s separation theorems[1]. Separation theorems simplify reasoning about distributed systems, w ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
Abstract. We describe pKA, a probabilistic Kleenestyle algebra, based on a well known model of probabilistic/demonic computation [3, 16, 10]. Our technical aim is to express probabilistic versions of Cohen’s separation theorems[1]. Separation theorems simplify reasoning about distributed systems, where with purely algebraic reasoning they can reduce complicated interleaving behaviour to “separated ” behaviours each of which can be analysed on its own. Until now that has not been possible for probabilistic distributed systems. Algebraic reasoning in general is very robust, and easy to check: thus an algebraic approach to probabilistic distributed systems is attractive because in that “doubly hostile ” environment (probability and interleaving) the opportunities for subtle error abound. Especially tricky is the interaction of probability and the demonic or “adversarial ” scheduling implied by concurrency. Our case study — based on Rabin’s Mutual exclusion with bounded waiting [6] — is one where just such problems have already occurred: the original presentation was later shown to have subtle flaws [15]. It motivates our interest in algebras, where assumptions relating probability and secrecy are clearly exposed and, in some cases, can be given simple characterisations in spite of their intricacy.
Automating refinement checking in probabilistic system design
 LNCS, 2007. Proceedings of ICFEM 2007
"... Abstract. Refinement plays a crucial role in “topdown ” 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 partiallyspecified ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
Abstract. Refinement plays a crucial role in “topdown ” 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 partiallyspecified systems. Whilst the theory of probabilistic refinement is wellknown [19] 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 refinementchecking as a linear satisfiability problem, which can then be exported to a linear SAT 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 [28].
A Survey of the Content and
 Characteristics of Electronic Abstracts (Library Information Technology
, 1997
"... ..."
(Show Context)
Unifying Theories of Programming with Monads
"... Abstract. The combination of probabilistic and nondeterministic choice in program calculi is a notoriously tricky problem, and one with a long history. We present a simple functional programming approach to this challenge, based on algebraic theories of computational effects. We make use of the powe ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. The combination of probabilistic and nondeterministic choice in program calculi is a notoriously tricky problem, and one with a long history. We present a simple functional programming approach to this challenge, based on algebraic theories of computational effects. We make use of the powerful abstraction facilities of modern functional languages, to introduce the choice operations as a little embedded domainspecific language rather than having to define a language extension; we rely on referential transparency, to justify straightforward equational reasoning about program behaviour. 1
Conference on Applications of Kleene Algebra (AKA5). The programme has
, 2008
"... been organised for the second time in association with RelMiCS/AKA. It took place in Frauenwörth on an Island in Lake Chiem in Bavaria, from April 7 to April 11, 2008, and included invited tutorials, a student session and attendance at the conference. Eight extended abstracts by students were select ..."
Abstract
 Add to MetaCart
(Show Context)
been organised for the second time in association with RelMiCS/AKA. It took place in Frauenwörth on an Island in Lake Chiem in Bavaria, from April 7 to April 11, 2008, and included invited tutorials, a student session and attendance at the conference. Eight extended abstracts by students were selected for the programme by the organisers due to the relevance and quality of their submissions. They nicely reflect the diverse applications of relations and Kleene algebras in computing. The student session allowed the participants to present and discuss their own work. In addition there were three invited tutorials: Basics of Relation Algebra
Contents
, 2011
"... Abstract We present an encoding of the semantics of the probabilistic guarded command language (pGCL) in the Unifying Theories of Programming (UTP) framework. Our contribution is a UTP encoding that captures pGCL programs as predicatetransformers, on predicates over probability distributions on bef ..."
Abstract
 Add to MetaCart
Abstract We present an encoding of the semantics of the probabilistic guarded command language (pGCL) in the Unifying Theories of Programming (UTP) framework. Our contribution is a UTP encoding that captures pGCL programs as predicatetransformers, on predicates over probability distributions on before and afterstates: these predicates capture the same information as the models traditionally used to give semantics to pGCL; in addition our formulation allows us to define a generic choice construct, that covers conditional, probabilistic and nondeterministic choice. We introduce the concept of probabilistic refinement in this framework. This technical report gives a rigourous presentation of our framework, along with a variety of proofs and examples (including the wellknown Monty Hall problem), that help to explain it.
Using Probabilistic Kleene Algebra pKA for Protocol Verification
"... We propose a method for verification of probabilistic distributed systems in which a variation of Kozen’s Kleene Algebra with Tests [11] is used to take account of the wellknown interaction of probability and “adversarial ” scheduling [17]. We describe pKA, a probabilistic Kleenestyle algebra, bas ..."
Abstract
 Add to MetaCart
(Show Context)
We propose a method for verification of probabilistic distributed systems in which a variation of Kozen’s Kleene Algebra with Tests [11] is used to take account of the wellknown interaction of probability and “adversarial ” scheduling [17]. We describe pKA, a probabilistic Kleenestyle algebra, based on a widely accepted model of probabilistic/demonic computation [7,25,17]. Our technical aim is to express probabilistic versions of Cohen’s separation theorems[4]. Separation theorems simplify reasoning about distributed systems, where with purely algebraic reasoning they can reduce complicated interleaving behaviour to “separated ” behaviours each of which can be analysed on its own. Until now that has not been possible for probabilistic distributed systems. We present two case studies. The first treats a simple voting mechanism in the algebraic style, and the second — based on Rabin’s Mutual exclusion with bounded waiting [12] — is one where verification problems have already occurred: the original presentation was later shown to have subtle flaws [24]. It motivates our interest in algebras, where assumptions relating probability and secrecy are clearly exposed and, in some cases, can be given simple characterisations in spite of their intricacy. Finally we show how the algebraic proofs for these theorems can be automated using a modification of Kozen and AboulHosn’s KATML [3].
A repository for . . .
"... We have implemented a repository of algebraic structures and theorems in the theorem proving environment Isabelle/HOL. It covers variants of Kleene algebras and relation algebras with many of their models. Most theorems have been obtained by automated theorem proving within Isabelle. Main purposes o ..."
Abstract
 Add to MetaCart
We have implemented a repository of algebraic structures and theorems in the theorem proving environment Isabelle/HOL. It covers variants of Kleene algebras and relation algebras with many of their models. Most theorems have been obtained by automated theorem proving within Isabelle. Main purposes of the repository are the engineering of algebraic theories for computing systems and their application in formal program development. This paper describes the present state of the repository, illustrates its potential by a theory engineering and a program verification example, and discusses the most important directions for future work.