Verified Compilation on a Verified Processor

被引:14
|
作者
Loow, Andreas [1 ]
Kumar, Ramana [2 ]
Tan, Yong Kiam [3 ]
Myreen, Magnus O. [1 ]
Norrish, Michael [4 ,5 ]
Abrahamsson, Oskar [1 ]
Fox, Anthony [6 ]
机构
[1] Chalmers Univ, Gothenburg, Sweden
[2] DeepMind, London, England
[3] CMU, Pittsburgh, PA USA
[4] CSIRO, Data61, Canberra, ACT, Australia
[5] Australian Natl Univ, Canberra, ACT, Australia
[6] Arm Ltd, Cambridge, England
关键词
verified stack; program verification; hardware verification; compiler verification; VERIFICATION;
D O I
10.1145/3314221.3314622
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developing technology for building verified stacks, i.e., computer systems with comprehensive proofs of correctness, is one way the science of programming languages furthers the computing discipline. While there have been successful projects verifying complex, realistic system components, including compilers (software) and processors (hardware), to date these verification efforts have not been compatible to the point of enabling a single end-to-end correctness theorem about running a verified compiler on a verified processor. In this paper we show how to extend the trustworthy development methodology of the CakeML project, including its verified compiler, with a connection to verified hardware. Our hardware target is Silver, a verified proof-of-concept processor that we introduce here. The result is an approach to producing verified stacks that scales to proving correctness, at the hardware level, of the execution of realistic software including compilers and proof checkers. Alongside our hardware-level theorems, we demonstrate feasibility by hosting and running our verified artefacts on an FPGA board.
引用
收藏
页码:1041 / 1053
页数:13
相关论文
共 50 条
  • [31] Linear capabilities for fully abstract compilation of separation-logic-verified code
    Van Strydonck, Thomas
    Piessens, Frank
    Devriese, Dominique
    [J]. JOURNAL OF FUNCTIONAL PROGRAMMING, 2021, 31
  • [32] Fully Composable and Adequate Verified Compilation with Direct Refinements between Open Modules
    Zhang, Ling
    Wang, Yuting
    Wu, Jinhua
    Koenig, Jeremie
    Shao, Zhong
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [33] Verified Compilation of Linearizable Data Structures Mechanizing Rely Guarantee for Semantic Refinement
    Zakowski, Yannick
    Cachera, David
    Demange, Delphine
    Pichardie, David
    [J]. 33RD ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2018, : 1881 - 1890
  • [34] Linear Capabilities for Fully Abstract Compilation of Separation-Logic-Verified Code
    Van Strydonck, Thomas
    Piessens, Frank
    Devriese, Dominique
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3
  • [35] Enforcing Executing-Implies-Verified with the Integrity-Aware Processor
    LeMay, Michael
    Gunter, Carl A.
    [J]. TRUST AND TRUSTWORTHY COMPUTING, TRUST 2011, 2011, 6740 : 202 - 216
  • [36] Lutsig: A Verified Verilog Compiler for Verified Circuit Development
    Loow, Andreas
    [J]. CPP '21: PROCEEDINGS OF THE 10TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, 2021, : 46 - 60
  • [37] VERIFIED REFRACTION
    BEACH, SJ
    [J]. JAMA-JOURNAL OF THE AMERICAN MEDICAL ASSOCIATION, 1948, 138 (13): : 952 - 955
  • [38] Orenitram ... Not Verified
    Fares, Wassim H.
    [J]. AMERICAN JOURNAL OF RESPIRATORY AND CRITICAL CARE MEDICINE, 2015, 191 (06) : 713 - 714
  • [39] Nesiritide - Not verified
    Topol, EJ
    [J]. NEW ENGLAND JOURNAL OF MEDICINE, 2005, 353 (02): : 113 - 116
  • [40] Verified Purchase
    Hope, Jessamyn
    [J]. FIDDLEHEAD, 2022, (293): : 50 - 65