Higher-Order Bounded Model Checking
Yu-Yang Lin, Nikos Tzevelekos

TL;DR
This paper introduces a bounded model checking approach for higher-order programs using SMT solvers, enabling verification of complex functional code with improved scalability and practical implementation.
Contribution
It presents a novel symbolic translation technique for higher-order programs, proves its soundness, and demonstrates its effectiveness through a prototype and experimental results.
Findings
Algorithm is sound for higher-order programs.
Points-to analysis improves scalability.
Prototype shows promising performance.
Abstract
We present a Bounded Model Checking technique for higher-order programs. The vehicle of our study is a higher-order calculus with general references. Our technique is a symbolic state syntactical translation based on SMT solvers, adapted to a setting where the values passed and stored during computation can be functions of arbitrary order. We prove that our algorithm is sound, and devise an optimisation based on points-to analysis to improve scalability. We moreover provide a prototype implementation of the algorithm with experimental results showcasing its performance.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Model-Driven Software Engineering Techniques
