Use of functional annotations in verifying imperative programs

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Functional programming languages [1-3] have been advocated as a means for writing more reliable programs, although imperative programming languages permit more efficient execution on conventional computer hardware. This paper advocates a means of using a functional notation to annotate imperative programs, and presents a method for verifying that the annotated sections of code achieve the results specified in the annotation. Examples are given to show how the method is used. These demonstrate that this approach to program correctness leads to verification conditions which are briefer, but more numerous, than those which result from verifying more conventionally annotated programs. One motivation for the work is pedagogical, in that it is hoped that the techniques described can be used, in the spirit of Backhouse [4], to make clearer to novice programmers the underlying functional purpose of sections of less transparent imperative code. A goal of the paper is to provide a technique to facilitate the activity of operational decomposition in a formal method (such as VDM [5], in which refinements of specifications to implementations are made.

Cite

CITATION STYLE

APA

Nicholl, R., Clint, M., Gray, D., & Nicholl, T. (1990). Use of functional annotations in verifying imperative programs. Software Engineering Journal, 5(5), 280–288. https://doi.org/10.1049/sej.1990.0030

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free