A Toolchain for Verified OCaml Programs

semanticscholar(2017)

引用 0|浏览1
暂无评分
摘要
This paper presents a methodology to verify OCaml programs with respect to behavioral specifications, using the Why3 tool. First, a formal specification is given in the form of an OCaml module signature extended with type invariants and function contracts, in the spirit of JML. Second, an implementation is written in the programming language of Why3 and then verified with respect to the specification. Finally, an OCaml program is obtained by an automated translation. This methodology is illustrated on several idiomatic OCaml programs. We discuss some of the challenges, such as proving the absence of arithmetic overflows, checking preconditions at runtime, and verifying stateful higher-order functions.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要