RustHorn: CHC-based Verification for Rust Programs (full version)

02/20/2020
by   Yusuke Matsushita, et al.
0

Reduction to the satisfiability 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 memories 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/25/2018

Translating C programs to MSVL programs

C language is one of the most popular languages in system programming an...
research
11/25/2017

Refinement Types for Ruby

Refinement types are a popular way to specify and reason about key progr...
research
09/20/2019

Automated Verification of Integer Overflow

Integer overflow accounts for one of the major source of bugs in softwar...
research
02/15/2023

Verification of Nondeterministic Quantum Programs

Nondeterministic choice is a useful program construct that provides a wa...
research
05/22/2019

Reductions for Automated Hypersafety Verification

We propose an automated verification technique for hypersafety propertie...
research
12/23/2019

Automated Deductive Verification for Ladder Programming

Ladder Logics is a programming language standardized in IEC 61131-3 and ...
research
10/24/2019

What's Decidable About Program Verification Modulo Axioms?

We consider the decidability of the verification problem of programs mod...

Please sign up or login with your details

Forgot password? Click here to reset