The paper starts by providing a brief overview of GOSPEL, a behavioral specification language for OCaml code. It then introduces the Cameleer tool, which is used to verify purely functional OCaml programs, such as a merge routine and the "same fringe" problem. The authors then showcase how Cameleer can be used to verify imperative OCaml programs, using the Boyer-Moore majority algorithm as an example.
The paper then delves into the verification of heap-dependent OCaml programs using the CFML tool, which is based on Separation Logic. The authors use the implementation of singly-linked lists as a case study, demonstrating how to specify and verify pointer-manipulating OCaml code.
Throughout the tutorial, the authors emphasize the importance of providing comprehensive, hands-on documentation to promote the adoption of formal methods by the working OCaml programmer community. The paper is accompanied by a companion artifact that includes additional case studies and proofs.
Sang ngôn ngữ khác
từ nội dung nguồn
arxiv.org
Thông tin chi tiết chính được chắt lọc từ
by Mári... lúc arxiv.org 04-30-2024
https://arxiv.org/pdf/2404.17901.pdfYêu cầu sâu hơn