An Aximatic Treatment of Algol 68 Routines

An axiomatic treatment of ALGOL 68 routines (procedures and functions) is presented. An approach to axiomatically defining the semantics of an expression-oriented language is first introduced. Using this, rules of inference for routines are given. The rules contain no aliasing restrictions, allow parameters of arbitrary modes including routines, treat full static scoping of identifiers, and allow side-effects to global variables. Attendant issues in language design and verification are also discussed.

[1]  Andrew S. Tanenbaum,et al.  A Tutorial on Algol 68 , 1976, CSUR.

[2]  J. Schwartz Mathematical Aspects of Computer Science , 1967 .

[3]  Richard Lee Schwartz,et al.  An axiomatic semantic definition of algol 68. , 1978 .

[4]  B. J. Mailloux,et al.  Report of Algorithmic Language ALGOL 68 , 1969 .

[5]  C. A. R. Hoare,et al.  Procedures and parameters: An axiomatic approach , 1971, Symposium on Semantics of Algorithmic Languages.

[6]  Edmund M. Clarke,et al.  Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom Systems , 1979, JACM.

[7]  Susan S. Owicki,et al.  Axiomatic Proof Techniques for Parallel Programs , 1975, Outstanding Dissertations in the Computer Sciences.

[8]  B. J. Mailloux,et al.  Report on the Algorithmic Language ALGOL 68 , 1969 .

[9]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[10]  Friedrich L. Bauer,et al.  Revised report on the algorithm language ALGOL 60 , 1963, CACM.

[11]  Daniel M. Berry,et al.  A semantic view of ALGOL 68 , 1979, Comput. Lang..

[12]  Edmund M. Clarke Programming language constructs for which it is impossible to obtain good hoare-like axiom systems , 1977, POPL '77.

[13]  Mary Shaw,et al.  Abstraction and Verification in Alphard: Introduction to Language and Methodology , 1976 .

[14]  Robert Cartwright,et al.  Unrestricted procedure calls in Hoare's logic , 1978, POPL '78.

[15]  James J. Horning,et al.  A Proof Rule for Euclid Procedures , 1977, Formal Description of Programming Concepts.

[16]  Maarten M. Fokkinga Axiomatization of Declarations and the Formal Treatment of an Escape Construct , 1977, Formal Description of Programming Concepts.

[17]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1959, Commun. ACM.

[18]  Stephen A. Cook,et al.  Soundness and Completeness of an Axiom System for Program Verification , 1978, SIAM J. Comput..

[19]  Peter Naur Documentation problems: ALGOL 60 , 1963, CACM.