MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A proof technique for rely/guarantee properties (1985) [53 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Eugene W. Stark
In Proceedings of the 5th Conference on Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science 206
http://bsd7.cs.sunysb.edu:18080/~stark/REPORTS/relyguar-revised.ps.gz
Add To MetaCart

Abstract:

A rely/guarantee specification for a program P is a specification of the form R oe G (R implies G), where R is a rely condition and G is a guarantee condition. A rely condition expresses the conditions that P relies on its environment to provide, and a guarantee condition expresses what P guarantees to provide in return. This paper presents a proof technique that permits us to infer that a program P satisfies a rely/guarantee specification R oe G, given that we know P satisfies a finite collection of rely/guarantee specifications R i oe G i; (i 2 I). The utility of the proof technique is illustrated by using it to derive global liveness properties of a system of concurrent processes from a collection of local liveness properties satisfied by the component processes. The use of the proof rule as a design principle, and the possibility of its incorporation into a formal logic of rely/guarantee assertions, is also discussed. 1

Citations

1153 A Method of Programming – Dijkstra, Feijen - 1988
952 An axiomatic basis for computer programming – Hoare - 1969
808 The temporal logic of programs – Pnueli - 1977
402 Assigning meanings to programs – Floyd - 1967
182 Program Development by Stepwise Refinement – Wirth - 1971
170 Specifying concurrent program modules – Lamport - 1983
126 Chandy, Proofs of networks of processes – Misra, M - 1981
124 Proving liveness properties of concurrent programs – Owicki, Lamport - 1982
112 Specification and Design of (Parallel) Programs – Jones - 1983
83 Verifying properties of parallel programs: An axiomatic approach – Owicki, Gries - 1976
65 Now you may compose temporal logic specifications – Barringer, Kuiper, et al. - 1984
49 Development Methods for Computer Programs including a Notion of Interference – Jones - 1981
37 Verification of concurrent programs: a temporal proof system – Manna, Pnueli - 1983
24 Sometime' is sometimes `not never – Lamport - 1980
15 Foundations of a theory of specification for distributed systems – STARK - 1984
12 Proving safety and liveness of communicating processes with examples – Misra, Chandy, et al. - 1982
9 Temporal logic specification of distributed systems – Schwartz, Melliar-Smith - 1981
8 Verifying Network Protocols Using Temporal Logic – Hailpern, Owicki - 1980
6 Probabilistic analysis of a network resource allocation algorithm – Fischer, Griffeth, et al. - 1986
3 A Temporal Logic Specification Method Supporting Hierarchical Development – Barringer, Kuiper - 1983
2 Modular Program Construction Using Abstractions – Liskov - 1979