Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

Verification of Array, Record, and Pointer Operations in Pascal

Verification of Array, Record, and Pointer Operations in Pascal Verification of Array, Record, and Pointer Operations in Pascal DAVID C. LUCKHAM Artificial Intelligence Laboratory, Stanford University and NORIHISA SUZUKI Xerox Palo Alto Research Center A practical method is presented for automating in a uniform way the verification of Pascal programs that operate on the standard Pascal data structures Array, Record, and Pointer. New assertion language primitives are introduced for describing computational effects of operations on these data structures. Axioms defining the semantics of the new primitives are given. Proof rules for standard Pascal operations on data structures are then defined using the extended assertion language. An axiomatic rule for the Pascal storage allocation operation, NEW, is also given. These rules have been implemented in the Stanford Pascal program verifier. Examples illustrating the verification of programs which operate on list structures implemented with pointers and records are discussed. These include programs with side effects. Key Words and Phrases: program verification, data structures, formal semantics, axiomatic semantics, pointers, Pascal, side effect, storage allocation CR Categories: 4.34, 4.49, 5.24 1, INTRODUCTION A x i o m a t i c p r o o f r u l e s are p r e s e n t e d http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png ACM Transactions on Programming Languages and Systems (TOPLAS) Association for Computing Machinery

Verification of Array, Record, and Pointer Operations in Pascal

Loading next page...
 
/lp/association-for-computing-machinery/verification-of-array-record-and-pointer-operations-in-pascal-9JGe0jhitc

References

References for this paper are not available at this time. We will be adding them shortly, thank you for your patience.

Publisher
Association for Computing Machinery
Copyright
Copyright © 1979 by ACM Inc.
ISSN
0164-0925
DOI
10.1145/357073.357078
Publisher site
See Article on Publisher Site

Abstract

Verification of Array, Record, and Pointer Operations in Pascal DAVID C. LUCKHAM Artificial Intelligence Laboratory, Stanford University and NORIHISA SUZUKI Xerox Palo Alto Research Center A practical method is presented for automating in a uniform way the verification of Pascal programs that operate on the standard Pascal data structures Array, Record, and Pointer. New assertion language primitives are introduced for describing computational effects of operations on these data structures. Axioms defining the semantics of the new primitives are given. Proof rules for standard Pascal operations on data structures are then defined using the extended assertion language. An axiomatic rule for the Pascal storage allocation operation, NEW, is also given. These rules have been implemented in the Stanford Pascal program verifier. Examples illustrating the verification of programs which operate on list structures implemented with pointers and records are discussed. These include programs with side effects. Key Words and Phrases: program verification, data structures, formal semantics, axiomatic semantics, pointers, Pascal, side effect, storage allocation CR Categories: 4.34, 4.49, 5.24 1, INTRODUCTION A x i o m a t i c p r o o f r u l e s are p r e s e n t e d

Journal

ACM Transactions on Programming Languages and Systems (TOPLAS)Association for Computing Machinery

Published: Oct 1, 1979

References