THE USE OF FUNCTIONAL ANNOTATIONS IN VERIFYING IMPERATIVE PROGRAMS

被引:0
|
作者
NICHOLL, R
CLINT, M
GRAY, D
NICHOLL, T
机构
[1] UNIV WESTERN ONTARIO,DEPT COMP SCI,LONDON N6A 3K7,ONTARIO,CANADA
[2] QUEENS UNIV BELFAST,DEPT COMP SCI,BELFAST BT7 1NN,ANTRIM,NORTH IRELAND
来源
SOFTWARE ENGINEERING JOURNAL | 1990年 / 5卷 / 05期
关键词
D O I
10.1049/sej.1990.0030
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:280 / 288
页数:9
相关论文
共 50 条
  • [1] Executing and verifying higher-order functional-imperative programs in Maude
    Rusu, Vlad
    Arusoaie, Andrei
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2017, 93 : 68 - 91
  • [2] Verifying Asymptotic Time Complexity of Imperative Programs in Isabelle
    Zhan, Bohua
    Haslbeck, Maximilian P. L.
    [J]. AUTOMATED REASONING, IJCAR 2018, 2018, 10900 : 532 - 548
  • [3] PROJECTING FUNCTIONAL MODELS OF IMPERATIVE PROGRAMS
    HARMAN, M
    DANICIC, S
    [J]. SIGPLAN NOTICES, 1993, 28 (11): : 33 - 41
  • [4] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    Vasilev, V. S.
    Legalov, A. I.
    Zykov, S. V.
    [J]. AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2022, 56 (07) : 815 - 827
  • [5] Approximating the domains of functional and imperative programs
    Brauburger, J
    Giesl, J
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1999, 35 (2-3) : 113 - 136
  • [6] The derivation of functional equivalents of imperative programs
    Roberts, GHB
    [J]. PROCEEDINGS OF THE 24TH AUSTRALASIAN COMPUTER SCIENCE CONFERENCE, ACSC 2001, 2001, 23 (01): : 171 - 176
  • [7] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    V. S. Vasilev
    A. I. Legalov
    S. V. Zykov
    [J]. Automatic Control and Computer Sciences, 2022, 56 : 815 - 827
  • [8] SPARSE FUNCTIONAL STORES FOR IMPERATIVE PROGRAMS
    STEENSGAARD, B
    [J]. SIGPLAN NOTICES, 1995, 30 (03): : 62 - 70
  • [9] Verifying Functional Correctness of C Programs with VCC
    Moskal, Michal
    [J]. NASA FORMAL METHODS, 2011, 6617 : 56 - 57
  • [10] Parallelizing imperative functional programs: The vectorization monad
    Hill, JMD
    Clarke, KM
    Bornat, R
    [J]. JOURNAL OF SYMBOLIC COMPUTATION, 1996, 21 (4-6) : 561 - 576