RustHorn: CHC-based Verification for Rust Programs

被引:19
|
作者
Matsushita, Yusuke [1 ]
Tsukada, Takeshi [2 ]
Kobayashi, Naoki [1 ]
机构
[1] Univ Tokyo, Tokyo, Japan
[2] Chiba Univ, Chiba, Japan
关键词
Rust; permission; ownership; pointer; CHC; automated verification; INVARIANTS;
D O I
10.1145/3462205
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Reduction to satisfiability of constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. Current CHC-based methods, however, do not work very well for pointer-manipulating programs, especially those with dynamic memory allocation. This article presents a novel reduction of pointer-manipulating Rust programs into CHCs, which clears away pointers and memory states by leveraging Rust's guarantees on permission. We formalize our reduction for a simplified core of Rust and prove its soundness and completeness. We have implemented a prototype verifier for a subset of Rust and confirmed the effectiveness of our method.
引用
收藏
页数:54
相关论文
共 50 条
  • [31] Verification of logic programs
    Pedreschi, D
    Ruggieri, S
    [J]. JOURNAL OF LOGIC PROGRAMMING, 1999, 39 (1-3): : 125 - 176
  • [32] Distilling Programs for Verification
    Hamilton, G. W.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 190 (04) : 17 - 32
  • [33] Verification of parallel programs
    Saman, MY
    Evans, DJ
    [J]. INTERNATIONAL JOURNAL OF COMPUTER MATHEMATICS, 1995, 56 (1-2) : 23 - 37
  • [34] VERIFICATION OF PROBABILISTIC PROGRAMS
    SHARIR, M
    PNUELI, A
    HART, S
    [J]. SIAM JOURNAL ON COMPUTING, 1984, 13 (02) : 292 - 314
  • [35] Verification programs for abduction
    Liberatore, P
    Donini, FM
    [J]. ECAI 2000: 14TH EUROPEAN CONFERENCE ON ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2000, 54 : 166 - 170
  • [36] Securing UnSafe Rust Programs with XRust
    Liu, Peiming
    Zhao, Gang
    Huang, Jeff
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 234 - 245
  • [37] Constraint based Testing and Verification of Java']Java Bytecode Programs
    Achour, Safaa
    Benattou, Mohammed
    [J]. 2018 IEEE 5TH INTERNATIONAL CONGRESS ON INFORMATION SCIENCE AND TECHNOLOGY (IEEE CIST'18), 2018, : 64 - 69
  • [38] C-Programs Verification Based on Mixed Axiomatic Semantics
    Anureev, I. S.
    Maryasov, I. V.
    Nepomniaschy, V. A.
    [J]. AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2011, 45 (07) : 485 - 500
  • [39] APPLYING FORMAL VERIFICATION METHODS TO RULE-BASED PROGRAMS
    GAMBLE, RF
    ROMAN, GC
    CUNNINGHAM, HC
    [J]. INTERNATIONAL JOURNAL OF EXPERT SYSTEMS, 1994, 7 (03): : 203 - 239
  • [40] Automatic Formal Verification of MPI-Based Parallel Programs
    Siegel, Stephen F.
    Zirkel, Timothy K.
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (08) : 309 - 310