Allocations of Objects Considered as Nondeterministic Expressions - Towards a More Abstract Axiomatics of Access Types

The concept of access ("reference" or "pointer") values is formalized as parametrized abstract data types, using the axiomatic method of Guttag and Horning as extended by Owe. Two formalizations are given. The first is a formalization of the approach used in the definition of a partial correctness system for Pascal by Hoare and Wirth. Its lack of abstraction is pointed out. This is caused by the annotation language being too expressive. An approach is taken which results in a more abstract system: The expressiveness of the annotation language is reduced and the allocation operator is viewed as a nondeterministic expression. This reinterpretation of the program language results in an appropriate level of abstraction of the proof system. An example is given, verification of a package defining a set type.

[1]  Butler W. Lampson,et al.  Proof rules for the programming language Euclid , 1978, Acta Informatica.

[2]  Sigurd Meldal Partial correctness of exits from concurrent structures , 1986, BIT Comput. Sci. Sect..

[3]  Andrew McGettrick Program verification using ada , 1982, Cambridge computer science texts.

[4]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[5]  Olaf Owe,et al.  ANNA A Language for Annotating Ada Programs , 1987, Lecture Notes in Computer Science.

[6]  Krzysztof R. Apt,et al.  Ten Years of Hoare's Logic: A Survey—Part I , 1981, TOPL.