OCaml is particularly well-fitted for formal verification. On one hand, it is a multi-paradigm language with a well-defined semantics, allowing one to write clean, concise, type-safe, and efficient code. On the other hand, it is a language of choice for the implementation of sensible software, e.g., industrial compilers, proof assistants, and automated solvers. Yet, with the notable exception of some interactive tools, formal verification has been seldom applied to OCaml-written programs. In this paper, we present the ongoing project Cameleer, aiming for the development of a deductive verification tool for OCaml, with a clear focus on proof automation. We leverage on the recently proposed GOSPEL, Generic OCaml SPE cification Language, to attach rigorous, yet readable, behavioral specification to OCaml code. The formally-specified program is fed to our toolchain, which translates it into an equivalent program in WhyML, the programming and specification language of the Why3 verification framework. Finally, Why3 is used to compute verification conditions for the generated program, which can be discharged by off-the-shelf SMT solvers. We present successful applications of the Cameleer tool to prove functional correctness of several significant case studies, like FIFO queues (ephemeral and applicative implementations) and leftist heaps, issued from existing OCaml libraries.


翻译:OCaml 特别适合正式的核查。 一方面, 它是一种多式比方语言, 具有定义明确的语义, 允许您写清、 简洁、 类型安全、 高效的代码。 另一方面, 它是一种用于实施明智软件的首选语言, 例如工业编译器、 校对助理 和自动化解答器。 然而, 除一些互动工具外, 正式的核查很少适用于 Ocaml 编写的程序 。 在本文中, 我们介绍一个正在进行的项目 Cameleer, 旨在为OCaml 开发一个推论性核查工具, 明确侧重于证据自动化 。 我们利用最近提出的 GOSPEL 、 通用 Ocaml SPEGPE 、 通用 Ocaml SPE 化语言, 对 Ocaml 代码附加严格但可读的行为规范 。 正式指定的程序被反馈给我们的工具链, 将它转换成一个与 Ohelmelle 相同的程序, 3 核查框架 的编程和规格语言 。 最后, 为什么 3 用来对生成的 Smalleral lical 应用程序的校验验证条件进行校验验证条件,,, 像 成功的校正 的校验程序, 的校正的校正的校正的校正。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
专知会员服务
25+阅读 · 2021年7月17日
专知会员服务
53+阅读 · 2020年9月7日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
31+阅读 · 2019年10月17日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
277+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
计算机类 | APNOMS 2019等国际会议信息6条
Call4Papers
4+阅读 · 2019年4月15日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年4月25日
Arxiv
0+阅读 · 2021年10月25日
VIP会员
相关VIP内容
专知会员服务
25+阅读 · 2021年7月17日
专知会员服务
53+阅读 · 2020年9月7日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
31+阅读 · 2019年10月17日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
277+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
相关资讯
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
计算机类 | APNOMS 2019等国际会议信息6条
Call4Papers
4+阅读 · 2019年4月15日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年4月25日
Top
微信扫码咨询专知VIP会员