Size: 7807
Comment:
|
← Revision 54 as of 2011-07-25 23:44:25 ⇥
Size: 7809
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 36: | Line 36: |
|| '''Monday 2011-08-04, 16:15.''' || Concurrent abstract predicates (continued) || Gil || || | || '''Thursday 2011-08-04, 16:15.''' || Concurrent abstract predicates (continued) || Gil || || |
Concurrent Program Logics
Instructors: Viktor Vafeiadis and Derek Dreyer
Teaching assistant: Georg Neis
Meeting time: 2 hours, once a week, April - July 2011
Abstract
Reasoning about concurrent programming is a particularly exciting topic in program verification. The focus of much of the research in this area is on developing modular and compositional methods for verification that nonetheless allow for fine-grained synchronization, as well as the sharing of mutable data structures, between multiple threads. Although some of the fundamental ideas in the area (such as Hoare logic and rely-guarantee reasoning) were developed thirty years ago, there has been major progress in the last several years, and the field is complex and highly active.
In this seminar course, we will study the development of concurrent program logics, from their roots in the late '70s up to the most recent breakthrough technologies. The course will be structured like a reading group, with one student tasked with presenting a paper each week, followed by an in-depth discussion.
The course is being co-taught by Viktor Vafeiadis (MPI-SWS, the Kaiserslautern branch) and Derek Dreyer (MPI-SWS, the Saarbruecken branch), and will be conducted by videoconferencing between the two MPI-SWS locations.
Schedule
Date and time |
Topic |
Presenter |
Files |
Monday 2011-04-11, 12:15. |
Introduction, Hoare logic |
Viktor |
|
Monday 2011-04-17. |
No meeting (Easter holiday) |
||
Monday 2011-04-25. |
No meeting (Easter holiday) |
||
Monday 2011-05-02, 16:15. |
Owicki-Gries |
Jonas |
|
Monday 2011-05-09, 16:15. |
Rely-guarantee |
Georg |
|
Monday 2011-05-16, 16:15. |
Separation logic |
Sigurd |
|
Monday 2011-05-23, 12:15. |
Concurrent separation logic |
Beta |
|
Monday 2011-05-30, 16:15. |
Permissions |
Matt |
|
Monday 2011-06-06, 16:15. |
Abstract predicates |
Scott |
|
Thursday 2011-06-16, 16:15. |
Storable locks |
Derek |
|
Monday 2011-06-20. |
No meeting (LICS) |
||
Thursday 2011-06-30, 16:15. |
RGSep, LRG |
Arthur |
|
Monday 2011-07-04, 16:15. |
More RGSep, SmallfootRG |
Viktor + Arthur |
|
Monday 2011-07-11. |
No meeting (POPL deadline) |
||
Monday 2011-07-18, 16:15. |
Deny-guarantee |
Georg |
|
Thursday 2011-07-21, 16:15. |
Concurrent abstract predicates |
Gil |
|
Thursday 2011-08-04, 16:15. |
Concurrent abstract predicates (continued) |
Gil |
|
Reading list
Early papers
- C.A.R. Hoare: An axiomatic basis for computer programming. CACM 1969.
Susan Owicki, David Gries: An axiomatic proof technique for parallel programs I. Acta Informatica 6, 319-340 (1976)
Rely/guarantee
Viktor Vafeiadis: Modular fine-grained concurrency verification. PhD thesis. Sections 2.2 and 2.3 only. (entire thesis)
Joey W. Coleman, Cliff B. Jones: A structural proof of the soundness of rely/guarantee rules. Journal of Logic and Computation 17: 807-841 (2007)
Leonor Prensa Nieto: The rely-guarantee method in Isabelle/HOL. ESOP 2003.
Separation logic
John C. Reynolds: Separation Logic: A Logic for Shared Mutable Data Structures. LICS 2002.
Peter W. O'Hearn, John C. Reynolds, Hongseok Yang: Local Reasoning about Programs that Alter Data Structures. CSL 2001.
Concurrent Separation Logic
Peter W. O'Hearn: Resources, concurrency, and local reasoning. Theor. Comput. Sci. 375(1-3): 271-307 (2007).
Stephen Brookes: A semantics for concurrent separation logic. Theor. Comput. Sci. 375(1-3): 227-270 (2007).
Viktor Vafeiadis: Concurrent separation logic and operational semantics. MFPS 2011.
Permissions
John Boyland: Checking Interference with Fractional Permissions. SAS 2003.
Richard Bornat, Cristiano Calcagno, Peter W. O'Hearn, Matthew J. Parkinson: Permission accounting in separation logic. POPL 2005.
Hypothetical frame rule, abstract predicates
Peter W. O'Hearn, Hongseok Yang, John C. Reynolds: Separation and information hiding. POPL 2004. (there is also a journal version)
Matthew J. Parkinson, Gavin M. Bierman: Separation logic and abstraction. POPL 2005.
Storable locks
Alexey Gotsman, Josh Berdine, Byron Cook, Noam Rinetzky, Mooly Sagiv: Local Reasoning for Storable Locks and Threads. APLAS 2007
Aquinas Hobor, Andrew W. Appel, Francesco Zappa Nardelli: Oracle Semantics for Concurrent Separation Logic. ESOP 2008
A. Buisse, L. Birkedal, and K. Støvring: A step-indexed Kripke model of separation logic for storable locks. MFPS 2011
RGSep, LRG
Viktor Vafeiadis, Matthew J. Parkinson: A Marriage of Rely/Guarantee and Separation Logic. CONCUR 2007.
Viktor Vafeiadis. Modular fine-grained concurrency verification. PhD thesis. Chapter 3.
Xinyu Feng: Local rely-guarantee reasoning. POPL 2009: 315-327
Cristiano Calcagno, Matthew Parkinson, Viktor Vafeiadis: Modular safety checking for fine-grained concurrency. SAS 2007.
Deny-guarantee
Mike Dodds, Xinyu Feng, Matthew J. Parkinson, Viktor Vafeiadis: Deny-Guarantee Reasoning. ESOP 2009: 363-377
Concurrent abstract predicates
Thomas Dinsdale-Young, Mike Dodds, Philippa Gardner, Matthew J. Parkinson, Viktor Vafeiadis: Concurrent Abstract Predicates. ECOOP 2010: 504-528