×

兹马思-数学第一资源

具有值相关类型的安全分布式编程。(英语) Zbl 1290.68033
摘要:分布式应用程序很难可靠和安全地编程。依赖类型的函数式语言承诺防止大类错误和漏洞,并使程序验证与开发并行进行。然而,随着递归、效果和丰富的库的添加,使用类型来推理程序、规范和证明变得具有挑战性。我们提出了一种用于安全分布式编程的独立类型语言F*。
我们的语言提供任意递归,同时保持逻辑一致的核心;利用仿射模型和其他类型的仿射推理来实现;它支持使用密码证据和逻辑证明项的混合来证明求精属性。关键机制是一种新的系统,它跟踪F*中的几种子语言并控制它们之间的交互。F*包含了前两种语言,F7和Fine。我们证明了F*的类型可靠性(用Coq中机械化的证明)和逻辑一致性。我们基于Fine的原型实现了一个将F*转换为.NET字节码的编译器。F*提供对库的访问,以实现并发、网络、加密以及与C、F和其他.NET语言的互操作性。编译器生成可验证的二进制文件,证明和类型的代码大小开销为60%,比精细编译器提高了45倍,同时仍能有效地进行字节码验证。我们已经规划和验证了近50000条F*线路,包括多党会议的新方案;零知识隐私保护支付协议;一个有出处意识的数据库;验证授权属性的一套web浏览器扩展;一个云托管的多层web应用程序,带有一个经过验证的参考监视器;核心F*打字机本身;以及从F7和JavaScript等其他语言翻译成F*的程序。

理学硕士:
68N19 其他编程范例(面向对象、顺序、并发、自动等)
68N18 函数规划与lambda演算
68N30型 软件工程的数学方面(规范、验证、度量、需求等)
68N15 程序设计语言理论
68T15型 定理证明(演绎、解析等)(MSC2010)
PDF格式 BibTeX公司 XML 引用
全文: 内政部