Concurrency Theory
Undergraduate seminar 0368-3114
School of Computer Science
Tel Aviv University
Ori Lahav
Spring 2023
Wednesday 13-15
In this seminar, we will explore different topics in concurrency theory, such as different formal models of concurrency, correctness criteria for concurrent objects, logics for reasoning about concurrent programs, and verification and dynamic testing of concurrent systems.
The seminar will be held as a reading group with student presentations. We will emphasize formal mathematical definitions, clear and interactive presentations, and effective demonstrations and examples.
Requirements and grading (for full details see first lecture)
- Students are required to attend all meetings.
- Each student (or pair of students) will be assigned one subject to present in a 90 minute talk, based on research papers or chapters from a book.
- Students will prepare slides and/or handouts for their presentation (in English), and send them to me two weeks before the lecture. The material may be uploaded here and made publicly available.
- Students should discuss their presentations with me before they give it.
- Students are very welcome to use other sources besides the one that will be suggested. In particular, many good presentations (sometimes videos) of these topics are available online. You can learn from them, but, clearly, you should prepare your own presentation and lecture. All materials used should be clearly cited.
- The grade will be based on the understanding of the paper, quality and clarity of presentation in class and of the slides/handouts.
Schedule
Date | Speaker | Topic (some links require TAU proxy) |
---|---|---|
March 22 | Ori |
Introduction and guidelines [slides] |
April 19 | Tal, Nittai |
Transition systems and behavioral equivalences
|
May 10 | Roy, Bar |
An axiomatic proof technique for parallel programs I
The rely-guarantee method for verifying shared variable concurrent programs
|
May 17 | Yoav, Razi |
FastTrack: efficient and precise dynamic race detection
Dynamic race prediction in linear time
|
June 7 | Itay, Yonatan |
Separation logic: a logic for shared mutable data structures
Resources, concurrency and local reasoning
Separation logic
|
June 14 | Ahmad, Yousef |
Linearizability: a correctness condition for concurrent objects
A Linearizability-based Hierarchy for Concurrent Specifications
|
June 28 | Somaya, Tamer |
Foundations of the C++ Concurrency Memory Model
Memory models: a case for rethinking parallel languages and hardware
You don't know jack about shared variables or memory models
|