Formal Semantics of Programming Languages
In this course we will study methods to define behaviors of programs, and methods to reason about properties of programs. We will practice formalizing semantics and building verified programs using Coq.
Lecturer
Date
7th March ~ 6th June, 2024
Location
Weekday | Time | Venue | Online | ID | Password |
---|---|---|---|---|---|
Thursday | 08:30 - 11:45 | A3-3-201 | ZOOM 07 | 559 700 6085 | BIMSA |
Prerequisite
Discrete mathematics, mathematical logic
Syllabus
Lambda calculus
Simply-typed lambda calculus
Operational semantics
Denotational semantics
Hoare logic
Separation logic
Concurrency and Concurrent Separation Logic (CSL)
Categorical semantics of quantum programs
Simply-typed lambda calculus
Operational semantics
Denotational semantics
Hoare logic
Separation logic
Concurrency and Concurrent Separation Logic (CSL)
Categorical semantics of quantum programs
Reference
1. Benjamin C. Pierce, et al. Software Foundations.
2. John C. Reynolds. Theories of Programming Languages.
3. Viktor Vafeiadis. Concurrent separation logic and operational semantics.
4. Chris Heunen and Jamie Vicary. Categories for Quantum Theory: An Introduction.
2. John C. Reynolds. Theories of Programming Languages.
3. Viktor Vafeiadis. Concurrent separation logic and operational semantics.
4. Chris Heunen and Jamie Vicary. Categories for Quantum Theory: An Introduction.
Audience
Graduate
Video Public
No
Notes Public
No
Language
Chinese
Lecturer Intro
Hanru Jiang obtained a Ph.D. in computer science and technology from the University of Science and Technology of China in 2019. From 2019 to 2020, he worked as an assistant research fellow at the Quantum Computing Research Center of Pengcheng Laboratory. In 2020, he joined BIMSA as an assistant professor. His main research directions are programming language theory, compiler verification, and programming language aspects in quantum computing. As the main contributor to the concurrent program separation compilation verification work CASCompCert, won the Distinguished Paper Award of PLDI 2019, a top conference in the field of programming languages.