ACM Home Page
Please provide us with feedback. Feedback
Proving assertions about programs that manipulate data structures
Full text PdfPdf (818 KB)
Source Annual ACM Symposium on Theory of Computing archive
Proceedings of seventh annual ACM symposium on Theory of computing table of contents
Albuquerque, New Mexico, United States
Pages: 107 - 116  
Year of Publication: 1975
Authors
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 24,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800116.803758
What is a DOI?

ABSTRACT

In this paper we wish to consider the problem of proving assertions about programs that construct and alter data structures. Our method will be to define a suitable assertion language L for data structures, to define a simple programming language L' for constructing and altering data structures, to give axioms and rules of inference (in the style of [Hoare 1969]) which specify the effect of program segments on data structures (described by formulas in L) and finally to prove that these axioms are correct (relative to a formal definition of the semantics of L') and, in a reasonable sense, complete. Thus our intention is to provide a complete theoretical framework for describing arbitrary data structures and proving assertions about programs that manipulate them.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Burstall, R.M. Some Techniques for Proving Correctness of Programs which Alter Data Structures. Machine Intelligence 7, 1972.
 
2
Cook, S.A. Axiomatic and Interpretive Semantics for an Algol Fragment. Technical Report No. 79, Dept. of Computer Science, University of Toronto, February 1975.
3
4
 
5
Hoare, C.A.R. and Lauer, P.E. Consistent and Complementary Formal Theories of the Semantics of Programming Languages. Acta Informatica 3, 1974, pp. 135-153.
 
6
 
7
Kowaltowski, T. Correctness of Programs Manipulating Data Structures. Memorandum No. ERL-M404, Electronics Research Laboratory, University of California, Berkeley, September 1973.
 
8
Lauer, P. Consistent Formal Theories of the Semantics of Programming Languages. Techincal Report TR 25.121, IBM Vienna, November 1971.
 
9
Laventhal, M.S. Verification of Programs Operating on Structured Data. M.Sc. Thesis, M.I.T., February 1974.
 
10
Morris, J.H. Verification Oriented Language Design. Technical Report 7, Dept. of Computer Science, University of California, Berkeley, December 1972.
 
11
 
12
Rosenberg, A.L. Data Graphs and Addressing Schemes. Journal of Computer and System Sciences, June 1971, pp. 193-238.
 
13
Standish, T.A. Data Structures: An Axiomatic Approach. Automatic Programming Memo 3, Bolt, Beranek and Newman Inc., August 1973.


Collaborative Colleagues:
Derek C. Oppen: colleagues
Stephen A. Cook: colleagues