VeriPhy: Verified Controller Executables from Verified Cyber-Physical System Models

被引:0
作者
Bohrer, Brandon [1 ]
Tan, Yong Kiam [1 ]
Mitsch, Stefan [1 ]
Myreen, Magnus O. [2 ]
Platzer, Andre [1 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Chalmers Univ Technol, Gothenburg, Sweden
来源
PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018 | 2018年
基金
美国国家科学基金会;
关键词
cyber-physical systems; hybrid systems; formal verification; verified compilation; verified executables; COMPILER; VERIFICATION; VALIDATION; FLOW; END;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present VeriPhy, a verified pipeline which automatically transforms verified high-level models of safety-critical cyber-physical systems (CPSs) in differential dynamic logic (dL) to verified controller executables. VeriPhy proves that all safety results are preserved end-to-end as it bridges abstraction gaps, including: i) the gap between mathematical reals in physical models and machine arithmetic in the implementation, ii) the gap between real physics and its differential-equation models, and iii) the gap between nondeterministic controller models and machine code. VeriPhy reduces CPS safety to the faithfulness of the physical environment, which is checked at runtime by synthesized, verified monitors. We use three provers in this effort: KeYmaera X, HOL4, and Isabelle/HOL. To minimize the trusted base, we cross-verify KeYmaera X in Isabelle/HOL. We evaluate the resulting controller and monitors on commodity robotics hardware.
引用
收藏
页码:617 / 630
页数:14
相关论文
共 46 条
  • [1] ROSCoq: Robots Powered by Constructive Reals
    Anand, Abhishek
    Knepper, Ross
    [J]. INTERACTIVE THEOREM PROVING, 2015, 9236 : 34 - 50
  • [2] [Anonymous], 2010, EMSOFT, DOI DOI 10.1145/1879021.1879024
  • [3] Formally Verified Differential Dynamic Logic
    Bohrer, Brandon
    Rahli, Vincent
    Vukotic, Ivana
    Volp, Marcus
    Platzer, Andre
    [J]. PROCEEDINGS OF THE 6TH ACM SIGPLAN CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP'17, 2017, : 208 - 221
  • [4] A Formally-Verified C Compiler Supporting Floating-Point Arithmetic
    Boldo, Sylvie
    Jourdan, Jacques-Henri
    Leroy, Xavier
    Melquiond, Guillaume
    [J]. 2013 21ST IEEE SYMPOSIUM ON COMPUTER ARITHMETIC (ARITH), 2013, : 107 - 115
  • [5] Flocq: A Unified Library for Proving Floating-point Algorithms in Coq
    Boldo, Sylvie
    Melquiond, Guillaume
    [J]. 2011 20TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC (ARITH-20), 2011, : 243 - 252
  • [6] Boldo S, 2009, LECT NOTES COMPUT SC, V5625, P59, DOI 10.1007/978-3-642-02614-0_10
  • [7] Bouissou O, 2009, LECT NOTES COMPUT SC, V5643, P620, DOI 10.1007/978-3-642-02658-4_46
  • [8] Bourke T, 2017, ACM SIGPLAN NOTICES, V52, P586, DOI [10.1145/3140587.3062358, 10.1145/3062341.3062358]
  • [9] Daumas M., 2001, Theorem Proving in Higher Order Logics. 14th International Conference, TPHOLs 2001. Proceedings (Lecture Notes in Computer Science Vol.2152), P169
  • [10] Duggirala Parasara Sridhar, 2015, Tools and Algorithms for the Construction and Analysis of Systems. 21st International Conference, TACAS 2015, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015. Proceedings: LNCS 9035, P68, DOI 10.1007/978-3-662-46681-0_5