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 条
  • [1] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Petri, Gustavo
    Vitek, Jan
    Pichardie, David
    Laporte, Vincent
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (06) : 27 - 27
  • [2] Verified Compilation of Quantum Oracles
    Li, Liyi
    Voichick, Finn
    Hietala, Kesha
    Peng, Yuxiang
    Wu, Xiaodi
    Hicks, Michael
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA): : 589 - 615
  • [3] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Laporte, Vincent
    Petri, Gustavo
    Pichardie, David
    Vitek, Jan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (02):
  • [4] CRELLVM: Verified Credible Compilation for LLVM
    Kang, Jeehoon
    Kim, Yoonseung
    Song, Youngju
    Lee, Juneyoung
    Park, Sanghoon
    Shin, Mark Dongyeon
    Kim, Yonghyun
    Cho, Sungkeun
    Choi, Joonwon
    Hur, Chung-Kil
    Yi, Kwangkeun
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 631 - 645
  • [5] VERIFIED COMPILATION IN MICRO-GYPSY
    YOUNG, WD
    [J]. PROCEEDINGS OF THE ACM SIGSOFT 89: THIRD SYMPOSIUM ON SOFTWARE TESTING, ANALYSIS, AND VERIFICATION ( TAV 3 ), 1989, 14 : 20 - 26
  • [6] CRELLVM: Verified Credible Compilation for LLVM
    Kang, Jeehoon
    Kim, Yoonseung
    Song, Youngju
    Lee, Juneyoung
    Shin, Mark Dongyeon
    Park, Sanghoon
    Kim, Yonghyun
    Cho, Sungkeun
    Choi, Joonwon
    Hur, Chung-Kil
    Yi, Kwangkeun
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 631 - 645
  • [7] Verified Compilation of Floating-Point Computations
    Sylvie Boldo
    Jacques-Henri Jourdan
    Xavier Leroy
    Guillaume Melquiond
    [J]. Journal of Automated Reasoning, 2015, 54 : 135 - 163
  • [8] A Compositional Semantics for Verified Separate Compilation and Linking
    Ramananandro, Tahina
    Shao, Zhong
    Weng, Shu-Chun
    Koenig, Jeremie
    Fu, Yuchen
    [J]. CPP'15: PROCEEDINGS OF THE 2015 ACM CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, 2015, : 3 - 14
  • [9] Verified Compilation of Floating-Point Computations
    Boldo, Sylvie
    Jourdan, Jacques-Henri
    Leroy, Xavier
    Melquiond, Guillaume
    [J]. JOURNAL OF AUTOMATED REASONING, 2015, 54 (02) : 135 - 163
  • [10] Verified Compilation of Synchronous Dataflow with State Machines
    Bourke, Timothy
    Pesin, Basile
    Pouzet, Marc
    [J]. ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2023, 22 (05)