pointer aliasing
Recently Published Documents


TOTAL DOCUMENTS

16
(FIVE YEARS 0)

H-INDEX

9
(FIVE YEARS 0)

2008 ◽  
Vol 18 (5-6) ◽  
pp. 865-911 ◽  
Author(s):  
ALEKSANDAR NANEVSKI ◽  
GREG MORRISETT ◽  
LARS BIRKEDAL

AbstractWe consider the problem of reconciling a dependently typed functional language with imperative features such as mutable higher-order state, pointer aliasing, and nontermination. We propose Hoare type theory (HTT), which incorporates Hoare-style specifications into types, making it possible to statically track and enforce correct use of side effects.The main feature of HTT is the Hoare type {P}x:A{Q} specifying computations with preconditionPand postconditionQthat return a result of typeA. Hoare types can be nested, combined with other types, and abstracted, leading to a smooth integration with higher-order functions and type polymorphism.We further show that in the presence of type polymorphism, it becomes possible to interpret the Hoare types in the “small footprint” manner, as advocated by separation logic, whereby specifications tightly describe the state required by the computation.We establish that HTT is sound and compositional, in the sense that separate verifications of individual program components suffice to ensure the correctness of the composite program.


2004 ◽  
Vol 39 (4) ◽  
pp. 473-489 ◽  
Author(s):  
William Landi ◽  
Barbara G. Ryder

2001 ◽  
Vol 11 (3) ◽  
pp. 347-358 ◽  
Author(s):  
RICHARD S. BIRD

A fair amount has been written on the subject of reasoning about pointer algorithms. There was a peak about 1980 when everyone seemed to be tackling the formal verification of the Schorr–Waite marking algorithm, including Gries (1979, Morris (1982) and Topor (1979). Bornat (2000) writes: “The Schorr–Waite algorithm is the first mountain that any formalism for pointer aliasing should climb”. Then it went more or less quiet for a while, but in the last few years there has been a resurgence of interest, driven by new ideas in relational algebras (Möeller, 1993), in data refinement Butler (1999), in type theory (Hofmann, 2000; Walker and Morrisett, 2000), in novel kinds of assertion (Reynolds, 2000), and by the demands of mechanised reasoning (Bornat, 2000). Most approaches end up being based in the Floyd–Dijkstra–Hoare tradition with loops and invariant assertions. To be sure, when dealing with any recursively-defined linked structure some declarative notation has to be brought in to specify the problem, but no one to my knowledge has advocated a purely functional approach throughout. Mason (1988) comes close, but his Lisp expressions can be very impure. Möller (1999) also exploits an algebraic approach, and the structure of his paper has much in common with what follows.This pearl explores the possibility of a simple functional approach to pointer manipulation algorithms.


2001 ◽  
Vol 23 (2) ◽  
pp. 105-186 ◽  
Author(s):  
Barbara G. Ryder ◽  
William A. Landi ◽  
Philip A. Stocks ◽  
Sean Zhang ◽  
Rita Altucher

1998 ◽  
Vol 33 (7) ◽  
pp. 11-18 ◽  
Author(s):  
Sean Zhang ◽  
Barbara G. Ryder ◽  
William A. Landi

Sign in / Sign up

Export Citation Format

Share Document