scispace - formally typeset
Journal ArticleDOI

An exercise in proving parallel programs correct

David Gries
- 01 Dec 1977 - 
- Vol. 20, Iss: 12, pp 921-930
TLDR
The fine degree of interleaving in this program makes it especially difficult to understand, and complicates the proof greatly as mentioned in this paper, and the difficulty of proving such parallel programs correct is discussed.
Abstract
A parallel program, Dijkstra's on-the-fly garbage collector, is proved correct using a proof method developed by Owicki. The fine degree of interleaving in this program makes it especially difficult to understand, and complicates the proof greatly. Difficulties with proving such parallel programs correct are discussed.

read more

Citations
More filters
Journal ArticleDOI

On-the-fly garbage collection: an exercise in cooperation

TL;DR: As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating concurrently with the processor devoted to the computation proper.

On-the-fly garbage collection: an exercise in cooperation

TL;DR: In this paper, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating concurrently with the processor devoted to the computation proper.
Journal ArticleDOI

Garbage Collection of Linked Data Structures

TL;DR: A concise and unified view of the numerous existing algorithms for performing garbage collection of linked data structures is presented, and the emphasis is on garbage collection proper, rather than on storage allocatlon.
Book

The Garbage Collection Handbook: The Art of Automatic Memory Management

TL;DR: The Garbage Collection Handbook: The Art of Automatic Memory Management brings together a wealth of knowledge gathered by automatic memory management researchers and developers over the past fifty years and compares the most important approaches and state-of-the-art techniques in a single, accessible framework as discussed by the authors.
Journal ArticleDOI

CTL* and ECTL* as Fragments of the Modal µ-Calculus

TL;DR: Direct embeddings of the full branching-time CTL ∗ and its extension ECTL ∗ into the modal μ-calculus use tableaux as intermediate representations of formulas, and use extremal fixed points to characterise those paths through tableaux that satisfy an admissibility criterion, guaranteeing eventualities to be eventually satisfied.
References
More filters
Journal Article

An Axiomatic Basis for Computer Programming

Journal ArticleDOI

An axiomatic basis for computer programming

TL;DR: An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics.
Journal ArticleDOI

Guarded commands, nondeterminacy and formal derivation of programs

TL;DR: So-called “guarded commands” are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state.
Journal ArticleDOI

On-the-fly garbage collection: an exercise in cooperation

TL;DR: As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating concurrently with the processor devoted to the computation proper.
Journal ArticleDOI

An axiomatic definition of the programming language PASCAL

TL;DR: The axiomatic definition method proposed in reference [5] is extended and applied to define the meaning of the programming language PASCAL with the exception of real arithmetic and go to statements.