Results 1 
3 of
3
Modular Automatic Assertion Checking with Separation Logic
, 2005
"... Separation logic is a program logic for reasoning about programs that manipulate pointer data structures. We describe a tool, Smallfoot, for checking certain lightweight separation logic specifications. The assertions describe the shapes of data structures rather than their detailed contents, and th ..."
Abstract

Cited by 163 (6 self)
 Add to MetaCart
(Show Context)
Separation logic is a program logic for reasoning about programs that manipulate pointer data structures. We describe a tool, Smallfoot, for checking certain lightweight separation logic specifications. The assertions describe the shapes of data structures rather than their detailed contents, and this allows reasoning to be fully automatic. We illustrate what the tool can do via a sequence of examples which are oriented around novel aspects of separation logic, namely: avoidance of frame axioms (which say what a procedure does not change); embracement of “dirty” features such as memory disposal and address arithmetic; information hiding in the presence of pointers; and modular reasoning about concurrent programs.
Verification condition generation and variable conditions in Smallfoot. Available from http://www.dcs.qmul.ac.uk/research/logic/theory/projects/smallfoot/index.html
"... Abstract. These notes are a companion to [1] which describe – the variable conditions that Smallfoot checks, – the analysis used to check them, – the algorithm used to compute a set of verification conditions corresponding to an annotated program, and – the treatment of concurrent resource initializ ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. These notes are a companion to [1] which describe – the variable conditions that Smallfoot checks, – the analysis used to check them, – the algorithm used to compute a set of verification conditions corresponding to an annotated program, and – the treatment of concurrent resource initialization code. 2012
A pure, sound, and complete (in the sense of Cook) Hoare logic for a language with specification statements and recursion
, 1997
"... The present paper contains a new result on the combination of Hoare logic and Scott's induction rule, obtained by taking the specification statement $\phi\leadsto\psi$ as basic statement instead of assignmentshere $\phi$ and $\psi$ stand for recursively enumerable first order assertions. Thi ..."
Abstract
 Add to MetaCart
The present paper contains a new result on the combination of Hoare logic and Scott's induction rule, obtained by taking the specification statement $\phi\leadsto\psi$ as basic statement instead of assignmentshere $\phi$ and $\psi$ stand for recursively enumerable first order assertions. This result owes its significance to \cite{EdR:mfcs96}, in which the general case of data refinement is shown to be expressible using specification statements. Consequently the resulting Hoare logic enables data refinement proofs, and the interesting question arises to which extent this logic can be simplified without sacrificing completeness. We present a rather simple sound and relatively complete logic in which the recursion rule does not require a deduction in its antecedent, in contrast to all but one formulation of Scott's induction rule, namely the one by Jerald Schwarz~\cite{Schwarz77}.