5671
Comment:
|
5930
|
Deletions are marked like this. | Additions are marked like this. |
Line 25: | Line 25: |
|| Monday 2011-05-16, 16:15. || Separation logic || Sigurd || || | || Monday 2011-05-16, 16:15. || Separation logic || Sigurd || [[http://www.ps.uni-saarland.de/~sdschn/pdfs/sep.pdf|slides]] || |
Line 57: | Line 57: |
* 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 |
* Peter W. O'Hearn: [[http://www.eecs.qmul.ac.uk/~ohearn/papers/concurrency.pdf|Resources, concurrency, and local reasoning.]] Theor. Comput. Sci. 375(1-3): 271-307 (2007) * Stephen Brookes: [[http://www.cs.cmu.edu/afs/cs.cmu.edu/user/brookes/www/papers/seplogicrevisedfinal.pdf|A semantics for concurrent separation logic.]] Theor. Comput. Sci. 375(1-3): 227-270 (2007) * Viktor Vafeiadis: [[http://www.mpi-sws.org/~viktor/cslsound/|Concurrent separation logic and operational semantics.]] MFPS 2011 |
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 |
|
|
Monday 2011-06-06, 16:15. |
Abstract predicates |
|
|
Monday 2011-06-13, 16:15. |
Storable locks |
|
|
Monday 2011-06-20. |
No meeting (LICS) |
||
Monday 2011-06-27, 16:15. |
RGSep |
|
|
Monday 2011-07-04, 16:15. |
More RGSep, LRG |
|
|
Monday 2011-07-11, 16:15. |
Deny-guarantee |
|
|
Monday 2011-07-18, 16:15. |
Concurrent abstract predicates |
|
|
Monday 2011-07-25, 16:15. |
More DG |
|
|
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.
- 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
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
Deny-guarantee, concurrent abstract predicates
- Mike Dodds, Xinyu Feng, Matthew J. Parkinson, Viktor Vafeiadis: Deny-Guarantee Reasoning. ESOP 2009: 363-377
- Thomas Dinsdale-Young, Mike Dodds, Philippa Gardner, Matthew J. Parkinson, Viktor Vafeiadis: Concurrent Abstract Predicates. ECOOP 2010: 504-528