Towards the formal verification of a C0 compiler: Code generation and implementation correctness

被引:23
|
作者
Leinenbach, D [1 ]
Paul, W [1 ]
Petrova, E [1 ]
机构
[1] Univ Saarland, Dept Comp Sci, D-66123 Saarbrucken, Germany
关键词
D O I
10.1109/SEFM.2005.51
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the spirit of the famous CLI stack project [2] the Verisoft project [31] aims at the pervasive verification of entire computer systems including hardware, system software, compiler, and communicating applications, with a special focus on industrial applications. The main programming language used in the Verisoft project is CO (a subset of C which is similar to MISRA C [20]). This paper reports on (i) an operational small steps semantics for CO which is formalized in Isabelle/HOL [25], (ii) the formal specification of a compiler from CO to the DLX machine language [14,23] in Isabelle/HOL, (iii) a paper and pencil correctness proof for this compiler and the status of the formal verification effort for this proof and (iv) the implementation of the compiler in CO and a formal proof in Isabelle/HOL that the implementation produces the same code as the specification.
引用
下载
收藏
页码:2 / 11
页数:10
相关论文
共 40 条
  • [1] Design and Implementation of Concurrent C0
    Willsey, Max
    Prabhu, Rokhini
    Pfenning, Frank
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (238): : 73 - 82
  • [2] Formal verification of a C compiler front-end
    Blazy, Sandrine
    Dargaye, Zaynah
    Leroy, Xavier
    FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 460 - 475
  • [3] Formal Verification of C Systems Code
    Tuch, Harvey
    JOURNAL OF AUTOMATED REASONING, 2009, 42 (2-4) : 125 - 187
  • [4] Towards the C0 flux conjecture
    Buhovsky, Lev
    ALGEBRAIC AND GEOMETRIC TOPOLOGY, 2014, 14 (06): : 3493 - 3508
  • [5] Formal Verification of QVT Transformations for Code Generation
    Stenzel, Kurt
    Moebius, Nina
    Reif, Wolfgang
    MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, 2011, 6981 : 533 - 547
  • [6] Formal verification of QVT transformations for code generation
    Kurt Stenzel
    Nina Moebius
    Wolfgang Reif
    Software & Systems Modeling, 2015, 14 : 981 - 1002
  • [7] Formal verification of QVT transformations for code generation
    Stenzel, Kurt
    Moebius, Nina
    Reif, Wolfgang
    SOFTWARE AND SYSTEMS MODELING, 2015, 14 (02): : 981 - 1002
  • [8] Automated correctness condition generation for formal verification of synthesized RTL designs
    Mansouri, N
    Vemuri, R
    FORMAL METHODS IN SYSTEM DESIGN, 2000, 16 (01) : 59 - 91
  • [9] Automated Correctness Condition Generation for Formal Verification of Synthesized RTL Designs
    Nazanin Mansouri
    Ranga Vemuri
    Formal Methods in System Design, 2000, 16 : 59 - 91
  • [10] Formal Verification of a Constant-Time Preserving C Compiler
    Barthe, Gilles
    Blazy, Sandrine
    Gregoire, Benjamin
    Hutin, Remi
    Laporte, Vincent
    Pichardie, David
    Trieu, Alix
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4