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)
Derivation of Invariant Assertions During Program Development by Transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
A practical method of documenting and verifying Ada programs with packages
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
Stanford Pascal Verifier user manual
Stanford Pascal Verifier user manual
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
An environment for Ada software development based on formal specification
ACM SIGAda Ada Letters
Program verification at Stanford
ACM SIGSOFT Software Engineering Notes
Instrumenting annotated programs
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Hi-index | 0.00 |
ANNA is a proposal to extend Ada to include facilities for formally specifying the intended behaviour of Ada programs (or portions thereof) at all stages of program development. ANNA programs are Ada programs with formal comments. Formal comments in ANNA consist of virtul Ada text and annotations. The syntax and semantics of different kinds of annotations are defined: declarative annotations (for variables, subtypes, subprograms, and packages), statement annotations, exception annotations, and visibility annotations. ANNA includes a small number of predefined attributes which may appear only in annotations, e.g., access type collections. The lexical structure of ANNA is designed so that the extensions of Ada appear as Ada comments. ANNA programs are therefore acceptable by Ada translators. The semantics of annotations are defined in terms of Ada concepts, in particular many annotations are generalizations of the constraint concept. It is therefore a simple step for the Ada programmer to use ANNA to give formal specifications of programs. ANNA is intended to provide a formal framework within which different theories of formal specification may be applied to Ada. Our proposal omits tasking for the time being.