RustHorn: CHC-Based Verification for Rust Programs [chapter]

Yusuke Matsushita, Takeshi Tsukada, Naoki Kobayashi
2020 Lecture Notes in Computer Science  
Reduction to the satisfiablility problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable. This paper proposes a novel translation of pointer-manipulating Rust programs into CHCs, which clears away pointers and heaps by leveraging ownership. We formalize the translation for a simplified core of Rust and prove its correctness. We have implemented a
more » ... totype verifier for a subset of Rust and confirmed the effectiveness of our method.
doi:10.1007/978-3-030-44914-8_18 fatcat:ywyfga2j75g47aqrucvzt5qj74