Seminar Advanced Topics in Formal Semantics

Seminar in Theoretical CS, Summer 2025

News

  • 04.12.2024: we are online

Dates & Deadlines

Early April 2025Kick-off meeting (room 4201b, 2nd floor, building E1, CS Department)
TBATopic preferences due
TBADetailed outline due
TBASeminar report due
TBAPresentation slides due
Mid-July 2025Presentations (room 4201b, 2nd floor, building E1, CS Department)

Note that the full versions of your report and your slides should be your final submissionand the camera-ready versions should differ only with regard to minor remarks, comments, and corrections by your supervisor. Please feel free, however, to talk to your supervisor about submitting preliminary versions before the due dates.

Introduction

  • Slides of introduction
  • Topic choice form

Overview

The term semantics refers to the rigorous mathematical study of the meaning and behaviour of software systems. Several methods have been established to provide this meaning, depending on both the kind of system to be modelled and the purpose of the analysis. Having a clear and comprehensive understanding of what it means to execute a program supports the development, implementation, analysis and verification of software systems.

The goal of this seminar is to provide an overview of semantics-based techniques and their applications in various fields, ranging from logical approaches over deductive program verification to the analysis of quantum programs.

Topics (preliminary)

The following list gives an exemplary of topics to choose from. More entries will be added soon.

A. Hoare Logic

  1. Hoare Logics for Recursive Procedures and Unbounded Nondeterminism
    • Student:
    • Supervisor:
  2. Incorrectness Logic
  3. Outcome Logic
  4. A Taxonomy of Hoare-Like Logics
    • Student:
    • Supervisor:

B. Separation Logic

  1. Introduction to Separation Logic
    • Student:
    • Supervisor:
  2. Formalising Memory Safety
    • Literature: Arthur Azevedo de Amorim, Catalin Hritcu, Benjamin C. Pierce: The Meaning of Memory Safety, POST 2018
    • Student:
    • Supervisor: –
  3. Semantics of Concurrent Pointer Programs

C. Software Verification

  1. Reasoning About Termination
  2. Verification by Transformation

D. Static Analysis of Quantum Programs

  1. Detecting Bugs
  2. Entanglement Analysis
  3. The LintQ Static Analysis Framework

Prerequisites

Basic knowledge in the following areas is expected:

  • Formal languages and automata theory
  • Mathematical logic

Previous knowledge in formal semantics of programming languages and probabilistic or quantum programming (depending on the choice of the topic) is helpful but not mandatory.

Registration

Registration to the seminar is handled via the central SuPra system.

Grading Scheme

You can access the grading scheme here.

Contact

Thomas Noll