书籍推荐 | Software Foundations by Benjamin C. Pierce et al.

DeepSpec项目旨在通过形式化方法改进软件开发和验证,减少潜在的安全漏洞。Software Foundations是一本交互式教科书,涵盖了逻辑基础、证明助理和编程语言理论,通过机器验证确保内容的准确性。该书已被多所大学采用,并在不断发展中,目前已有六卷。卷一逻辑基础介绍了逻辑学、Coq证明助理和函数式编程,而卷二程序语言基础则涉及程序验证和类型系统。Coq-zh汉化组正在进行中文版的翻译工作,以推广证明助理在中文社区的使用。
摘要由CSDN通过智能技术生成

# DeepSpec #

美国国家基金会在 21 世纪科学与工程的网络基础设施框架(Cyberinfrastructure Framework for 21st Century Science and Engineering, CIF21)[1] 中,明确了软件的关键地位,并资助了 DeepSpec (the science of deep specification) [2] 项目:

  • 旨在通过提高形式化方法或数学相关技术,改进程序的开发和验证方法,从而消除可能导致安全漏洞和计算错误的 bugs。DeepSpec 的研究涉及了剖析现代硬件和软件的复杂性,从而找出可以影响各种计算机组件协同工作的因素。然后开发“深度规范” —— 基于形式逻辑对软件的行为进行精确的描述。这类深度规范将帮助工程师构建 bug-free 的程序,同时能够验证他们的程序是否完全符合预期。
  • 在他们的大学开发新课程和课程材料,以培训下一代软件开发人员使用新的、改进的方法。越来越多的计算机科学教育工作者认为,数学相关的教学是计算机科学中一个很关键的部分,也是需要与编程的培训区分开来的一个部分。严谨的数学需要严谨的证明。当前很多学校的教学模式是,依赖助教收集学生的问题,并在每周固定的 office hours 进行反馈。而当涉及到需要严谨证明的教学工作时,这不是一个可以大规模复用的教学方式。DeepSpec 结合了交互式定理证明工具来解决这个问题,对 Benjamin 等人所著的交互式教科书 Software Foundations [3] 提供了支持。

Software Foundations Project on DeepSpec: https://deepspec.org/entry/Project/Software.20Foundations

# Software Foundations #

Software Foundations 介绍了逻辑基础、定理证明和编程语言理论(PLT)等相关的知识。自 2008 年以来,该教科书已在全球范围内的多所大学(以及独立学习)中被广泛使用。2017 年,DeepSpec 开始组织对 Software Foundations 的重写和扩展,并将其应用在很多高校的研究生课程中:

Software Foundations 最主要的新颖之处在于,书中的每一处细节都百分之百地形式化且通过了机器验证。每卷书中的所有文本,包括练习,根本上都是一份 Coq 证明助理的「证明脚本」。

Software Foundations 仍然在开发中,当前已有 6 卷:

  • 卷一:逻辑基础 / Logical Foundations
  • 卷二:程序语言基础 / Programming Language Foundations
  • 卷三:函数算法验证 / Verified Functional Algorithms
  • 卷四:QuickChick:软件特性测试 / QuickChick: Property-Based Testing in Coq
  • 卷五:可验证的 C / Verifiable C
  • 卷六:分离逻辑基础 / Separation Logic Foundations

本系列书籍的目标受众包括高年级本科生、研究生、博士以及研究者在内的广大读者。书中并未假定读者有逻辑学或编程语言的背景,不过熟悉一些数学对于学习来说会很有帮助。

为进一步向中文社区推广 Coq 证明助理,Coq-zh 汉化组正在翻译此书,中文版译为《软件基础》,在线阅读地址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值