RefinedRust: A Type System for High-Assurance Verification of Rust Programs

被引:0
|
作者
Gaeher, Lennard [1 ]
Sammler, Michael [1 ]
Jung, Ralf [2 ]
Krebbers, Robbert [3 ]
Dreyer, Derek [1 ]
机构
[1] MPI SWS, Saarland Informat Campus, Saarbrucken, Germany
[2] Swiss Fed Inst Technol, Zurich, Switzerland
[3] Radboud Univ Nijmegen, Nijmegen, Netherlands
关键词
separation logic; program verification; Rust; Iris;
D O I
10.1145/3656422
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Rust is a modern systems programming language whose ownership-based type system statically guarantees memory safety, making it particularly well-suited to the domain of safety-critical systems. In recent years, a wellspring of automated deductive verification tools have emerged for establishing functional correctness of Rust code. However, none of the previous tools produce foundational proofs (machine-checkable in a general-purpose proof assistant), and all of them are restricted to the safe fragment of Rust. This is a problem because the vast majority of Rust programs make use of unsafe code at critical points, such as in the implementation of widely-used APIs. We propose RefinedRust, a refinement type system-proven sound in the Coq proof assistant-with the goal of establishing foundational semi-automated functional correctness verification of both safe and unsafe Rust code. We have developed a prototype verification tool implementing RefinedRust. Our tool translates Rust code (with user annotations) into a model of Rust embedded in Coq, and then checks its adherence to the RefinedRust type system using separation logic automation in Coq. All proofs generated by RefinedRust are checked by the Coq proof assistant, so the automation and type system do not have to be trusted. We evaluate the effectiveness of RefinedRust by verifying a variant of Rust's Vec implementation that involves intricate reasoning about unsafe pointer-manipulating code.
引用
收藏
页码:1115 / 1139
页数:25
相关论文
共 50 条
  • [1] Challenges in High-Assurance Runtime Verification
    Goodloe, Alwyn
    [J]. LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: FOUNDATIONAL TECHNIQUES, PT I, 2016, 9952 : 446 - 460
  • [2] Formal Verification for High-Assurance Behavioral Synthesis
    Ray, Sandip
    Hao, Kecheng
    Chen, Yan
    Xie, Fei
    Yang, Jin
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2009, 5799 : 337 - +
  • [3] High-assurance timing analysis for a high-assurance real-time operating system
    Thomas Sewell
    Felix Kam
    Gernot Heiser
    [J]. Real-Time Systems, 2017, 53 : 812 - 853
  • [4] High-assurance timing analysis for a high-assurance real-time operating system
    Sewell, Thomas
    Kam, Felix
    Heiser, Gernot
    [J]. REAL-TIME SYSTEMS, 2017, 53 (05) : 812 - 853
  • [5] Design and verification of microprocessor systems for high-assurance applications
    Rockwell Collins, Inc., 400 Collins Road NE., Cedar Rapids, IA 52498, United States
    [J]. Des. and Verification of Microprocessor Syst. for High-Assur. Applic., (1-436):
  • [6] A high-assurance measurement repository system
    Bastani, FB
    Ntafos, S
    Yen, IL
    Harris, DE
    Morrow, RR
    Paul, R
    [J]. FIFTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING, PROCEEDINGS, 2000, : 265 - 272
  • [7] Collaborative Verification of Information Flow for a High-Assurance App Store
    Ernst, Michael D.
    Just, Rene
    Millstein, Suzanne
    Dietl, Werner
    Pernsteiner, Stuart
    Roesner, Franziska
    Koscher, Karl
    Barros, Paulo
    Bhoraskar, Ravi
    Han, Seungyeop
    Vines, Paul
    Wu, Edward X.
    [J]. CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, : 1092 - 1104
  • [8] A Co-Verification Interface Design for High-Assurance CPS
    Zhang, Yu
    Huang, Mengxing
    Wang, Hao
    Feng, Wenlong
    Cheng, Jieren
    Zhou, Hui
    [J]. CMC-COMPUTERS MATERIALS & CONTINUA, 2019, 58 (01): : 287 - 306
  • [9] High-assurance zeroization
    Arranz Olmos S.
    Barthe G.
    Gonzalez R.
    Grégoire B.
    Laporte V.
    Léchenet J.-C.
    Oliveira T.
    Schwabe P.
    [J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2023, 2024 (01): : 375 - 397
  • [10] High-assurance systems
    Bhattacharya, S
    Onoma, A
    Bastani, F
    [J]. COMMUNICATIONS OF THE ACM, 1997, 40 (01) : 67 - 67