Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/800116.803758acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
Article
Free access

Proving assertions about programs that manipulate data structures

Published: 05 May 1975 Publication History

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

[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]
Cook, S.A. and Oppen, D.C. An Assertion Language for Data Structures. Proceedings of the Second ACM Symposium on Principles of Programming Languages, January 1975.
[4]
Hoare, C.A.R. An Axiomatic Basis for Computer Programming. Communications of the ACM, October 1969, pp. 576-583.
[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]
Igarashi, S., London, R. and Luckham, D. Automatic Program Verification I: A Logical Basis and its Implementation. AI Memo AIM-200, Stanford University, May 1973.
[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]
Oppen, D.C. On Logic and Program Verification. Ph.D. Thesis, University of Toronto, to appear 1975.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
STOC '75: Proceedings of the seventh annual ACM symposium on Theory of computing
May 1975
265 pages
ISBN:9781450374194
DOI:10.1145/800116
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 May 1975

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

STOC '75 Paper Acceptance Rate 31 of 87 submissions, 36%;
Overall Acceptance Rate 1,469 of 4,586 submissions, 32%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)51
  • Downloads (Last 6 weeks)11
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2011)BI as an assertion language for mutable data structuresACM SIGPLAN Notices10.1145/1988042.198805046:4(84-96)Online publication date: 20-May-2011
  • (2010)Verifying low-level implementations of high-level datatypesProceedings of the 22nd international conference on Computer Aided Verification10.1007/978-3-642-14295-6_28(306-320)Online publication date: 15-Jul-2010
  • (2010)Connecting Different Proof StylesScalable Techniques for Formal Verification10.1007/978-1-4419-5998-0_6(81-92)Online publication date: 19-Apr-2010
  • (2008)A Mechanical Analysis of Program Verification StrategiesJournal of Automated Reasoning10.1007/s10817-008-9098-140:4(245-269)Online publication date: 1-May-2008
  • (2005)A simple programming language with data types: semantics and verificationLogics of Programs10.1007/3-540-15648-8_29(387-405)Online publication date: 31-May-2005
  • (2003)Program logic and equivalence in the presence of garbage collectionTheoretical Computer Science10.1016/S0304-3975(02)00868-X298:3(557-581)Online publication date: 11-Apr-2003
  • (2001)BI as an assertion language for mutable data structuresACM SIGPLAN Notices10.1145/373243.37571936:3(14-26)Online publication date: 1-Jan-2001
  • (2001)BI as an assertion language for mutable data structuresProceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/360204.375719(14-26)Online publication date: 1-Jan-2001
  • (2001)On Garbage and Program LogicFoundations of Software Science and Computation Structures10.1007/3-540-45315-6_9(137-151)Online publication date: 23-Mar-2001
  • (2000)Semantic analysis of pointer aliasing, allocation and disposal in Hoare logicProceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming10.1145/351268.351291(190-201)Online publication date: 1-Sep-2000
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media