Title :
An Introduction to the Construction and Verification of Alphard Programs
Author :
Wulf, William A. ; London, Ralph L. ; Shaw, Mary
Author_Institution :
Department of Computer Science, Carnegie-Mellon University
Abstract :
The programming language Alphard is designed to provide support for both the methodologies of "well-structured" programming and the techniques of formal program verification. Language constructs allow a programmer to isolate an abstraction, specifying its behavior publicly while localizing knowledge about its implementation. The verification of such an abstraction consists of showing that its implementation behaves in accordance with its public specifications; the abstraction can then be used with confidence in constructing other programs, and the verification of that use employs only the public specifications.
Keywords :
Abstract data types; abstraction and representation; assertion; correctness; information hiding; levels of abstraction; modular decomposition; program specifications; program verification; programming languages; programming methodology; structured programming; Computer languages; Computer science; Computerized monitoring; Costs; Data structures; Design methodology; Humans; Programming profession; Symbiosis; Abstract data types; abstraction and representation; assertion; correctness; information hiding; levels of abstraction; modular decomposition; program specifications; program verification; programming languages; programming methodology; structured programming;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.1976.233830