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)
Principles of proving concurrent programs in Gypsy
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Generics and verification in Ada
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
An Axiomatic Proof Technique for Networks of Communicating Processes
An Axiomatic Proof Technique for Networks of Communicating Processes
Preliminary Ada reference manual
ACM SIGPLAN Notices - Preliminary Ada reference manual
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
Generics and verification in Ada
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
HAL/S/V: a verifiable subset for HAL/S
ACM SIGPLAN Notices
Generics and verification in Ada
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
Hi-index | 0.00 |
In this paper we examine Ada with regard to program verification and make certain suggestions towards writing potentially provable Ada programs. We attempt to isolate and discuss those features of Ada which are not susceptible to current verification techniques. From verifiability considerations, the most critical features in Ada appear to be those which deal with data sharing under concurrent processing, direct referencing of non-local variables, access variables, “approximate” data-types, and generic program units. The independence of program units along with well defined interfaces for interactions is presented as desirable not only from software engineering aspects but also from the formal proof considerations. However, the possibility of having a large number of variables, potentially sharable among concurrent processes, is likely to make the proofs of Ada programs unmanageable. It is asserted, however, that with a certain discipline on the programmer verifiable programs can be written in Ada.