Characteristic Formulae for the Verification of Imperative Programs

被引:12
|
作者
Chargueraud, Arthur
机构
关键词
Verification;
D O I
10.1145/2034574.2034828
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In previous work, we introduced an approach to program verification based on characteristic formulae. The approach consists of generating a higher-order logic formula from the source code of a program. This characteristic formula is constructed in such a way that it gives a sound and complete description of the semantics of that program. The formula can thus be exploited in an interactive proof assistant to formally verify that the program satisfies a particular specification. This previous work was, however, only concerned with purely-functional programs. In the present paper, we describe the generalization of characteristic formulae to an imperative programming language. In this setting, characteristic formulae involve specifications expressed in the style of Separation Logic. They also integrate the frame rule, which enables local reasoning. We have implemented a tool based on characteristic formulae. This tool, called CFML, supports the verification of imperative Caml programs using the Coq proof assistant. Using CFML, we have formally verified nontrivial imperative algorithms, as well as CPS functions, higher-order iterators, and programs involving higher-order stores.
引用
收藏
页码:418 / 430
页数:13
相关论文
共 50 条
  • [31] Explicit formulae for -values in positive characteristic
    Perkins, Rudolph Bronson
    MATHEMATISCHE ZEITSCHRIFT, 2014, 278 (1-2) : 279 - 299
  • [32] CHARACTERISTIC FORMULAE: FROM AUTOMATA TO LOGIC
    Aceto, Luca
    Aceto, Luca
    Ingolfsdottir, Anna
    BULLETIN OF THE EUROPEAN ASSOCIATION FOR THEORETICAL COMPUTER SCIENCE, 2007, (91): : 57 - 75
  • [34] Finitism, Imperative Programs and Primitive Recursion
    Leivant, Daniel
    LOGICAL FOUNDATIONS OF COMPUTER SCIENCE (LFCS 2020), 2020, 11972 : 98 - 110
  • [35] A Calculus for Imperative Programs: Formalization and Implementation
    Erascu, Madalina
    Jebelean, Tudor
    11TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2009), 2009, : 77 - 84
  • [36] PROJECTING FUNCTIONAL MODELS OF IMPERATIVE PROGRAMS
    HARMAN, M
    DANICIC, S
    SIGPLAN NOTICES, 1993, 28 (11): : 33 - 41
  • [37] A SCHEME FOR EFFECTIVE SPECIALIZATION OF IMPERATIVE PROGRAMS
    BULONKOV, MA
    KOCHETOV, DV
    PROGRAMMING AND COMPUTER SOFTWARE, 1995, 21 (05) : 244 - 253
  • [38] Finitism, imperative programs and primitive recursion
    Leivant, Daniel
    JOURNAL OF LOGIC AND COMPUTATION, 2021, 31 (01) : 179 - 192
  • [39] Reasoning About Imperative Quantum Programs
    Chadha, R.
    Mateus, P.
    Sernadas, A.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 158 : 19 - 39
  • [40] On the representation of imperative programs in a logical framework
    Nistal, Jose Luis Freire
    Branas, Enrique Freire
    Ferro, Antonio Blanco
    Souto, David Cabrero
    COMPUTER AIDED SYSTEMS THEORY- EUROCAST 2007, 2007, 4739 : 202 - 209