Results 1  10
of
13
Equational verification of cache blocking in lu decomposition using kleene algebra with tests
, 2002
"... In a recent paper of Mateev et al. (2001), a new technique for program analysis called fractal symbolic analysis was introduced and applied to verify the correctness of a series of sourcelevel transformations for cache blocking in LU decomposition with partial pivoting. It was argued in that paper ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
In a recent paper of Mateev et al. (2001), a new technique for program analysis called fractal symbolic analysis was introduced and applied to verify the correctness of a series of sourcelevel transformations for cache blocking in LU decomposition with partial pivoting. It was argued in that paper that traditional techniques are inadequate because the transformations break definitionuse dependencies. We show how the task can be accomplished purely equationally using Kleene algebra with tests. 1
KATML: An interactive theorem prover for Kleene Algebra with Tests
 University of Manchester
, 2003
"... Abstract. We describe an implementation of an interactive theorem prover for Kleene algebra with tests (KAT). The system is designed to reflect the natural style of reasoning with KAT that one finds in the literature. We illustrate its use with some examples. 1 ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Abstract. We describe an implementation of an interactive theorem prover for Kleene algebra with tests (KAT). The system is designed to reflect the natural style of reasoning with KAT that one finds in the literature. We illustrate its use with some examples. 1
On the elimination of hypotheses in Kleene algebra with tests
, 2002
"... The validity problem for certain universal Horn formulas of Kleene algebra with tests (KAT) can be efficiently reduced to the equational theory. This reduction is known as elimination of hypotheses. Hypotheses are used to describe the interaction of atomic programs and tests and are an essential com ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
The validity problem for certain universal Horn formulas of Kleene algebra with tests (KAT) can be efficiently reduced to the equational theory. This reduction is known as elimination of hypotheses. Hypotheses are used to describe the interaction of atomic programs and tests and are an essential component of practical program verification with KAT. The ability to eliminate hypotheses of a certain form means that the Horn theory with premises of that form remains decidable in PSPACE. It was known (Cohen 1994, Kozen and Smith 1996, Kozen 1997) how to eliminate hypotheses of the form q =0. In this paper we show how to eliminate hypotheses of the form cp = c for atomic p. Hypotheses of this form are useful in eliminating redundant code and arise quite often in the verification of compiler optimizations (Kozen and Patron 2000). 1
D.: Local variable scoping and Kleene algebra with tests. In: RelMiCS
, 2006
"... Abstract. Most previous work on the semantics of programs with local state involves complex storage modeling with pointers and memory cells, complicated categorical constructions, or reasoning in the presence of context. In this paper, we explore the extent to which relational semantics and axiomati ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. Most previous work on the semantics of programs with local state involves complex storage modeling with pointers and memory cells, complicated categorical constructions, or reasoning in the presence of context. In this paper, we explore the extent to which relational semantics and axiomatic reasoning in the style of Kleene algebra can be used to avoid these complications. We provide (i) a fully compositional relational semantics for a firstorder programming language with a construct for local variable scoping; and (ii) an equational proof system based on Kleene algebra with tests for proving equivalence of programs in this language. We show that the proof system is sound and complete relative to the underlying equational theory without local scoping. We illustrate the use of the system with several examples. 1
Kleene algebras with tests and the static analysis of programs
, 2003
"... We propose a general framework for the static analysis of programs based on Kleene algebra with tests (KAT). We show how KAT can be used to statically verify compliance with safety policies specified by security automata. We prove soundness and completeness over relational interpretations. We illust ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We propose a general framework for the static analysis of programs based on Kleene algebra with tests (KAT). We show how KAT can be used to statically verify compliance with safety policies specified by security automata. We prove soundness and completeness over relational interpretations. We illustrate the method on an example involving the correctness of a device driver. 1
NetKAT: Semantic foundations for networks
 In POPL
, 2014
"... Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation ha ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Recent years have seen growing interest in highlevel languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code. This paper presents NetKAT, a new network programming language that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. We describe the design of NetKAT, including primitives for filtering, modifying, and transmitting packets; union and sequential composition operators; and a Kleene star operator that iterates programs. We show that NetKAT is an instance of a canonical and wellstudied mathematical structure called a Kleene algebra with tests (KAT) and prove that its equational theory is sound and complete with respect to its denotational semantics. Finally, we present practical applications of the equational theory including syntactic techniques for checking reachability, proving noninterference properties that ensure isolation between programs, and establishing the correctness of compilation algorithms.
Halting and Equivalence of Schemes over Recursive Theories
"... Let Σ be a fixed firstorder signature. In this note we consider the following decision problems. (i) Given a recursive ground theory T over Σ, a program scheme p over Σ, and input values specified by ground terms t1,...,tn, doesp halt on input t1,...,tn in all models of T? (ii) Given a recursive gr ..."
Abstract
 Add to MetaCart
Let Σ be a fixed firstorder signature. In this note we consider the following decision problems. (i) Given a recursive ground theory T over Σ, a program scheme p over Σ, and input values specified by ground terms t1,...,tn, doesp halt on input t1,...,tn in all models of T? (ii) Given a recursive ground theory T over Σ and two program schemes p and q over Σ, are p and q equivalent in all models of T? When T is empty, these two problems are the classical halting and equivalence problems for program schemes, respectively. We show that problem (i) is r.e.complete and problem (ii) is Π0 2complete. Both these problems remain hard for their respective complexity classes even if T is empty and Σ is restricted to contain only a single constant, a single unary function symbol, and a single monadic predicate. It follows from (ii) that there can exist no relatively complete deductive system for scheme equivalence. Key words: model theory, Kleene algebra, dynamic logic
2 KATML: An Interactive Theorem Proverfor Kleene Algebra with Tests
"... Abstract. KATML is an interactive theorem prover for Kleene algebra withtests ( KAT). The system is designed to reflect the natural style of reasoning with KAT that one finds in the literature. We describe the main features of the systemand illustrate its use with some examples. 1 Introduction Klee ..."
Abstract
 Add to MetaCart
Abstract. KATML is an interactive theorem prover for Kleene algebra withtests ( KAT). The system is designed to reflect the natural style of reasoning with KAT that one finds in the literature. We describe the main features of the systemand illustrate its use with some examples. 1 Introduction Kleene algebra with tests (KAT), introduced in [13], is an equational system for program verification that combines Kleene algebra ( KA) with Boolean algebra. KAT hasbeen applied successfully in various lowlevel verification tasks involving communication protocols, basic safety analysis, sourcetosource program transformation, concurrency control, compiler optimization, and dataflow analysis [1, 36, 13, 15]. The system subsumes Hoare logic and is deductively complete for partial correctness over relationalmodels [14].
KAT and PHL in Coq
"... In this article we describe an implementation of Kleene algebra with tests (KAT) in the Coq theorem prover. KAT is an equational system that has been successfully applied in program verification and, in particular, it subsumes the propositional Hoare logic (PHL). We also present an PHL encoding in K ..."
Abstract
 Add to MetaCart
In this article we describe an implementation of Kleene algebra with tests (KAT) in the Coq theorem prover. KAT is an equational system that has been successfully applied in program verification and, in particular, it subsumes the propositional Hoare logic (PHL). We also present an PHL encoding in KAT, by deriving its deduction rules as theorems of KAT. Some examples of simple program's formal correctness are given. This work is part of a study of the feasibility of using KAT in the automatic production of certificates in the context of (sourcelevel) ProofCarryingCode (PCC).
Halting and Equivalence of Program Schemes in Models of Arbitrary Theories
"... In this note we consider the following decision problems. Let Σ be a fixed firstorder signature. (i) Given a firstorder theory or ground theory T over Σ of Turing degree α, a program scheme p over Σ, and input values specified by ground terms t1,...,tn, doesp halt on input t1,...,tn in all models ..."
Abstract
 Add to MetaCart
In this note we consider the following decision problems. Let Σ be a fixed firstorder signature. (i) Given a firstorder theory or ground theory T over Σ of Turing degree α, a program scheme p over Σ, and input values specified by ground terms t1,...,tn, doesp halt on input t1,...,tn in all models of T? (ii) Given a firstorder theory or ground theory T over Σ of Turing degree α and two program schemes p and q over Σ, arep and q equivalent in all models of T? When T is empty, these two problems are the classical halting and equivalence problems for program schemes, respectively. We show that problem (i) is Σ α 1complete and problem (ii) is Π α 2complete. Both problems remain hard for their respective complexity classes even if Σ is restricted to contain only a single constant, a single unary function symbol, and a single monadic predicate. It follows from (ii) that there can exist no relatively complete deductive system for scheme equivalence over models of theories of any Turing degree.