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 prototype verifier for a subset of Rust and confirmed the effectiveness of our method.
CITATION STYLE
Matsushita, Y., Tsukada, T., & Kobayashi, N. (2020). RustHorn: CHC-Based Verification for Rust Programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12075 LNCS, pp. 484–514). Springer. https://doi.org/10.1007/978-3-030-44914-8_18
Mendeley helps you to discover research relevant for your work.