Unfolding Iterators: Specification and Verification of Higher-Order Iterators, in OCaml
Unfolding Iterators: Specification and Verification of Higher-Order Iterators, in OCaml
Albeit being a central notion of every programming language, formally and modularly reasoning about iteration proves itself to be a non-trivial feat, specially in the context of higher-order iteration. In this paper, we present a generic approach to the specification and deductive verification of higher-order iterators, written in the OCaml language. Our methodology follows two key principles: first, the usage of the Gospel specification language to describe the general behaviour of any iteration schema; second, the usage of the Cameleer framework to deductively verify that every iteration client is correct with respect to its logical specification. To validate our approach we develop a set of verified case studies, ranging from classic list iterators to graph algorithms implemented in the widely used OCamlGraph library.
Ion Chirica、Mário Pereira
计算技术、计算机技术
Ion Chirica,Mário Pereira.Unfolding Iterators: Specification and Verification of Higher-Order Iterators, in OCaml[EB/OL].(2025-06-25)[2025-07-21].https://arxiv.org/abs/2506.20310.点此复制
评论