概述

Fiat是一个Coq证明助手的库,用于从声明性规范中合成有效的构造纠正程序。Fiat的编程从程序的高级描述开始,可以使用规范语言的库来编写,描述常见的编程任务,如查询关系数据库。然后,通过自动化的策略,这些规范被反复地提炼成有效的实现。Fiat中的每一个派生都产生一个正式的证明线索,证明合成的程序符合原始规范。由Fiat合成的代码可以提取到一个 等效的OCaml程序中,该程序可以正常编译和运行。

团队


亚当·克利帕拉

本杰明特拉华州

Clément坑——克劳德尔

杰森·格罗斯

下载

释放 说明
2014年10月31日(成本8.4pl2)
来源虚拟机虚拟机(无GUI)
提交给POPL 2015文物评估委员会(自述文件)

出版物

Fiat:证明助手中抽象数据类型的演绎合成

本杰明 特拉华,Clément 坑——克劳德尔,杰森·格罗斯,亚当·克利帕拉

法律程序第42届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'15)2015年1月。

在Coq中,从声明性规范中派生抽象数据类型的高效OCaml实现,大部分是自动的。主要研究了SQL的插入操作和实例查询。