Concurrency Theory
Undergraduate seminar 0368-3114
School of Computer Science
Tel Aviv University
Ori Lahav
Spring 2021
Wednesday 13-15
In this seminar, we will explore different topics in concurrency theory, such as different formal models of concurrency (e.g., labeled transition systems and the calculus of communicating systems), correctness criteria for concurrent objects, logics for reasoning about concurrent programs, and verification and 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, depending on the number of participants) will be assigned one subject to present in a 70-90 minute talk, based on a research paper or a chapter 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 3 | Ori L. |
Introduction and guidelines [slides] |
March 10 | Dvir, Mor |
Transition systems and behavioral equivalences
|
March 17 | Dor, Topaz |
Calculus of communicating systems (CCS)
|
April 7 | Ricky, Shai |
A Very Gentle Introduction to Multiparty Session Types
|
April 21 | Din, Noga |
An axiomatic proof technique for parallel programs I
|
April 28 | Tomer, Idan |
The rely-guarantee method for verifying shared variable concurrent programs
|
May 5 | Shalev, Barak |
Separation logic: a logic for shared mutable data structures
|
May 12 | Guy, Ido |
Resources, concurrency and local reasoning
|
May 19 | Tom, May |
Linearizability: a correctness condition for concurrent objects
|
May 26 | Grisha, Yaniv |
Wait-free synchronization
|
June 2 | Yoav |
Laws of order: expensive synchronization in concurrent algorithms cannot be eliminated
|
June 9 | Israel, Shir |
FastTrack: efficient and precise dynamic race detection
|
June 16 | Ori J. |
Conflict-free Replicated Data Types: An Overview. 2018
|