Structures built by pointer aliasing, such as DAGs and graphs, are notoriously tricky to deal with. The mechanisms of separation logic can deal with these structures, but so far this has been done by the maintenance of a global invariant. Specifications and proofs which use local reasoning, and which may point the way to a structured programming for pointers, are discussed. An idiom for inclusion sharing, where one structure is included in another, is presented. A notion of ‘partial graphs ’ – graphs with dangling pointers – is used to facilitate proof.
Framing is important for specification and verification, especially in programs that mutate data str...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
AbstractWe describe an approach to the derivation of correct algorithms on tree-based pointer struct...
Separation logics are widely used for verifying programs that manipulate complex heap-based data str...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
This thesis presents a sound abstraction framework for the static analysis of pointer programs, whic...
A?iasing occurs at some program point during execu-tion when two or more names exist for the same lo...
Hoare logic ([7]) is an important tool for formally proving correctness properties of programs. It t...
Abstract. Automated verification of programs that utilize data structures with intrinsic sharing is ...
Doctor of PhilosophyDepartment of Computing and Information SciencesDavid A. SchmidtWe are intereste...
Abstract. This paper studies the compositional definition and behav-iour of properties that arise in...
A fair amount has been written on the subject of reasoning about pointer algorithms. There was a pea...
This note presents a calculational method for dealing with pointers in weakest precondition semanti...
This paper proposes a modal extension of Separation Logic [8, 11] for reasoning about data-parallel ...
Framing is important for specification and verification, especially in programs that mutate data str...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
AbstractWe describe an approach to the derivation of correct algorithms on tree-based pointer struct...
Separation logics are widely used for verifying programs that manipulate complex heap-based data str...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
This thesis presents a sound abstraction framework for the static analysis of pointer programs, whic...
A?iasing occurs at some program point during execu-tion when two or more names exist for the same lo...
Hoare logic ([7]) is an important tool for formally proving correctness properties of programs. It t...
Abstract. Automated verification of programs that utilize data structures with intrinsic sharing is ...
Doctor of PhilosophyDepartment of Computing and Information SciencesDavid A. SchmidtWe are intereste...
Abstract. This paper studies the compositional definition and behav-iour of properties that arise in...
A fair amount has been written on the subject of reasoning about pointer algorithms. There was a pea...
This note presents a calculational method for dealing with pointers in weakest precondition semanti...
This paper proposes a modal extension of Separation Logic [8, 11] for reasoning about data-parallel ...
Framing is important for specification and verification, especially in programs that mutate data str...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
AbstractWe describe an approach to the derivation of correct algorithms on tree-based pointer struct...