Differences between revisions 2 and 3
Revision 2 as of 2011-05-03 11:41:46
Size: 4662
Editor: viktor
Comment:
Revision 3 as of 2011-05-03 11:44:03
Size: 4749
Editor: viktor
Comment:
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
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
 * 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)
Line 41: Line 40:
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.
=== 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.
Line 47: Line 48:
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.
Hypothetical frame rule, abstract predicates
 * 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.
Line 51: Line 51:
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.
=== 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.
Line 56: Line 58:
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: 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
Line 62: Line 64:
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.
 * 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.
Line 67: Line 69:
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
 * 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
Line 71: Line 72:
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
=== 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

Concurrent Program Logics

Instructors: Viktor Vafeiadis and Derek Dreyer Meeting Time: 2 hours, once a week

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.

Preliminary Schedule

  1. Monday 2011-04-11, 12:15. Introduction, Hoare logic (Viktor) [slides]
  2. Monday 2011-04-17. No meeting (Easter holiday)

  3. Monday 2011-04-25. No meeting (Easter holiday)

  4. Monday 2011-05-02, 16:15. Owicki-Gries (Jonas) [simple examples]
  5. Monday 2011-05-09, 16:15. Rely-guarantee (Georg)
  6. Monday 2011-05-16, 16:15. Separation logic (Sigurd)
  7. Monday 2011-05-23, 12:15. Concurrent separation logic

  8. Monday 2011-05-30, 16:15. Permissions
  9. Monday 2011-06-06, 16:15. Abstract predicates
  10. Monday 2011-06-13, 16:15. Storable locks
  11. Monday 2011-06-20. No meeting (LICS)

  12. Monday 2011-06-27, 16:15. RGSep
  13. Monday 2011-07-04, 16:15. More RGSep, LRG
  14. Monday 2011-07-11, 16:15. Deny-guarantee
  15. Monday 2011-07-18, 16:15. Concurrent abstract predicates
  16. 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.

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.

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.

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

cpl (last edited 2011-07-25 23:44:25 by dreyer)