Affiliation:
1. The University of Tokyo, Tokyo, Japan
2. Chiba University, Chiba, Japan
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Cited by
23 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Ownership Types for Verification of Programs with Pointer Arithmetic;Proceedings of the 2024 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation;2024-01-11
2. Borrowable Fractional Ownership Types for Verification;Lecture Notes in Computer Science;2023-12-30
3. Automatically Enforcing Rust Trait Properties;Lecture Notes in Computer Science;2023-12-30
4. PropProof: Free Model-Checking Harnesses from PBT;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
5. Verification of a Rust Implementation of Knuth's Dancing Links using ACL2;Electronic Proceedings in Theoretical Computer Science;2023-11-14