ACM Home Page
Please provide us with feedback. Feedback
An assertion language for data structures
Full text PdfPdf (596 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Palo Alto, California
Pages: 160 - 166  
Year of Publication: 1975
Authors
Stephen A. Cook  University of Toronto
Derek C. Oppen  University of Toronto
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 17,   Citation Count: 3
Additional Information:

abstract   references   cited by   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/512976.512993
What is a DOI?

ABSTRACT

In this paper we wish to consider the problem of proving assertions about programs that construct and alter arbitrarily complex data structures. In recent years several papers have been written on the subject of proving assertions about such programs; however, the class of data structures considered has generally been a proper sub-class of the class of all data structures, such as the classes of linear lists or trees. [Burstall 1972] discusses the problem of what he calls Distinct Non-repeating Lists and Distinct Non-repeating Trees. [Kowaltowski 1973] extends Burstall's approach. His approach is likewise basically tree-oriented but is applicable to more general data structures. [Laventhal 1974] restricts his attention to 'simple singly-linked lists', noting the problem of providing 'a complete framework for correctness proofs' if one attempts to handle very general data structures. [Morris 1972] discusses the question of designing a programming language for general data structures in order to facilitate verification of programs written in such a language. [Standish 1973] provides a set of axioms for the class of data structures in which, for instance, two data structures are equal iff they are component-wise equal.


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. Course notes for CSC 2409S, Dept. of Computer Science, University of Toronto, March 1974.
 
3
Davis, M., Computability and Unsolvability. McGraw-Hill, 1958.
4
 
5
Kowaltowski, T., Correctness of Programs Manipulating Data Structure. Memorandum No. ERL-M404, Electronics Research Laboratory, University of California, Berkeley, September 1973.
 
6
Laventhal, M. S., Verification of Programs Operating on Structured Data. M.Sc. Thesis, M.I.T., February 1974.
 
7
Morris, J. H., Verification Oriented Language Design. Technical Report 7, Dept. of Computer Science, University of California, Berkeley, December 1972.
 
8
Rosenberg, A. L., Data Graphs and Addressing Schemes. Journal of Computer and System Sciences, June 1971, pp. 193-238.
 
9
Standish, T. A., Data Structures: An Axiomatic Approach. Automatic Programming Memo 3, Bolt, Beranek and Newman Inc., August 1973.

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