Open Access
Language Features that Support Program Verification (illustrated in PL/C)
Robert L. Constable
- 01 Apr 1976
TL;DR: Here, features applied to simple programs of the type traditionally taught in beginning programming classes are examined and various proposals for expanding programming languages to provide more assistance of this type are discussed.
read more
Abstract: The author of a program can convince its readers (including himself) that it computes as he intended by writing into the program text a precise description of what it should do. This description can include a clear proof that the program behaves as advertised. In the future, programming languages may offer far more mechanical assistance in expressing, checking, and processing these descriptions than they do now. However, some existing languages, such as PL/C, provide features which help in these tasks considerably. Here we examine such features applied to simple programs of the type traditionally taught in beginning programming classes. We discuss various proposals for expanding programming languages to provide more assistance of this type. Keywords and phrases: program correctness, automatic program verification, Hoare axioms, Scott induction, recursive programs, least number operator, bounded quantifiers, inductive assertion method, programming language design, very high level programmng languages, PL/I, PL/C, macro facilities.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
On the theory of programming logics
Robert L. Constable
- 04 May 1977
TL;DR: This paper proves the completeness and decidability of the monadic (iterative) programming logic, and discusses the polyadic logic and the programming language briefly, and considers general models for the iterative programming logic.
49
Related Papers (5)
Johan Lewi,J. Paredaens +1 more
- 01 Jan 1986
Michael L. Scott
- 06 Apr 2009
Anthony Hassitt
- 01 Jan 1967
Niklaus Wirth
- 01 Dec 1966