Abstract
AbstractReduction 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.
Publisher
Springer International Publishing
Cited by
22 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Sound Borrow-Checking for Rust via Symbolic Semantics;Proceedings of the ACM on Programming Languages;2024-08-15
2. RefinedRust: A Type System for High-Assurance Verification of Rust Programs;Proceedings of the ACM on Programming Languages;2024-06-20
3. Towards Understanding Rust in the Era of AI for Science at an Ecosystem Scale;2024 6th International Conference on Communications, Information System and Computer Engineering (CISCE);2024-05-10
4. Weakest Precondition Inference for Non-Deterministic Linear Array Programs;Lecture Notes in Computer Science;2024
5. Verus: Verifying Rust Programs using Linear Ghost Types;Proceedings of the ACM on Programming Languages;2023-04-06