Verification of Array, Record, and Pointer Operations in Pascal
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ada exception handling: an axiomatic approach
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Automatic program verification I: a logical basis and its implementation.
Automatic program verification I: a logical basis and its implementation.
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
Modular Verification of Data Abstractions with Shared Realizations
IEEE Transactions on Software Engineering
ANNA: Towards a language for annotating Ada programs
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
Hi-index | 0.00 |
We present a method of formal specification of Ada programs containing packages. The method suggests concepts and guidelines useful for giving adequate informal documentation of packages by means of comments. The method depends on (1) the standard inductive assertion technique for subprograms, (2) the use of history sequences in assertions specifying the declaration and use of packages, and (3) the addition of three categories of specifications to Ada package declarations: (a) visible specifications, (b) boundary specifications, (c) internal specifications. Axioms and proof rules for the Ada package constructs (declaration, instantiation, and function and procedure call) are given in terms of history sequences and package specifications. These enable us to construct formal proofs of the correctness of Ada programs with packages. The axioms and proof rules are easy to implement in automated program checking systems. The use of history sequences in both informal documentation and formal specifications and proofs is illustrated by examples.