Software Foundations Series

iamanatom1 pts0 comments

Software Foundations

The Software Foundations series is a broad introduction to the mathematical underpinnings of reliable<br>software.

The principal novelty of the series is that every detail is one hundred<br>percent formalized and machine-checked: the entire text of each volume,<br>including the exercises, is literally a "proof<br>script" for the Rocq proof assistant.

The exposition is intended for a broad range of readers, from advanced<br>undergraduates to PhD students and researchers. No specific background in<br>logic or programming languages is assumed, though a degree of mathematical<br>maturity is helpful. A one-semester course can expect to cover Logical<br>Foundations plus most of Programming Language<br>Foundations or Verified Functional Algorithms, or selections<br>from both.

Volume 1

Logical Foundations is the entry-point to the series. It covers<br>functional programming, basic concepts of logic, computer-assisted theorem<br>proving, and Coq.

Volume 2

Programming Language Foundations surveys the theory of programming languages, including<br>operational semantics, Hoare logic, and static type systems.

Volume 3

Verified Functional Algorithms shows how a variety of fundamental<br>data structures can be specified and mechanically verified.

Volume 4

QuickChick: Property-Based Testing in Coq<br>introduces tools for combining randomized<br>property-based testing with formal<br>specification and proof in the Coq ecosystem.

Volume 5

Verifiable C is an extended hands-on tutorial on specifying and<br>verifying real-world C programs using the Princeton Verified Software<br>Toolchain.

Volume 6

Separation Logic Foundations is an in-depth<br>introduction to separation logic—a practical approach to<br>modular verification of imperative programs—and how<br>to build program verification<br>tools on top of it.

Volume 7

Security Foundations studies the security of programs<br>by setting clear and rigorous security goals and<br>developing provable enforcement mechanisms.

foundations volume software logic programming series

Related Articles