本論文は、関数型プログラミング言語OCamlのプログラムに対する演繹的検証の手法と実践的な適用方法を示している。
まず、GOSPEL言語を使ったプログラムの仕様記述方法を説明する。GOSPELは、OCamlプログラムの振る舞いを記述するための言語で、Separation Logicに基づいている。
次に、Cameleerツールを使ったOCamlプログラムの検証方法を示す。Cameleerは、OCamlプログラムをWhyMLに変換し、なぜ3フレームワークを使って自動的に検証を行う。純粋な関数型プログラムと、変更可能な状態を持つプログラムの検証例を示している。
さらに、ポインタを操作するプログラムの検証にCFMLツールを使う方法を説明する。CFMLは、OCamlプログラムをCoqの中で表現し、Separation Logicを使って手動で検証を行う。単方向リストの実装を例に、CFMLを使った検証の手順を示している。
最後に、関数型プログラミングとデダクティブ検証の関係、および今後の展望について議論している。
Naar een andere taal
vanuit de broninhoud
arxiv.org
Belangrijkste Inzichten Gedestilleerd Uit
by Mári... om arxiv.org 04-30-2024
https://arxiv.org/pdf/2404.17901.pdfDiepere vragen