Separation logic

Separation logic is a key development in formal reasoning about programs, opening up new lines of attack on longstanding problems.

[1]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[2]  Peter W. O'Hearn,et al.  Moving Fast with Software Verification , 2015, NFM.

[3]  Philippa Gardner,et al.  Abstraction and Refinement for Local Reasoning , 2010, VSTTE.

[4]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.

[5]  Peter W. O'Hearn,et al.  Local Action and Abstract Separation Logic , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[6]  Peter W. O'Hearn,et al.  Resources, Concurrency and Local Reasoning , 2004, CONCUR.

[7]  John C. Reynolds,et al.  Intuitionistic reasoning about shared mutable data structure , 1999 .

[8]  Frank Piessens,et al.  Software verification with VeriFast: Industrial case studies , 2014, Sci. Comput. Program..

[9]  Ilya Sergey,et al.  Mechanized verification of fine-grained concurrent programs , 2015, PLDI.

[10]  Peter W. O'Hearn,et al.  Compositional Shape Analysis by Means of Bi-Abduction , 2011, JACM.

[11]  Peter W. O'Hearn,et al.  Scalable Shape Analysis for Systems Code , 2008, CAV.

[12]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[13]  Samin Ishtiaq,et al.  SLAyer: Memory Safety for Systems-Level Code , 2011, CAV.

[14]  Hongseok Yang,et al.  Views: compositional reasoning for concurrent programs , 2013, POPL.

[15]  R. M. Burstall,et al.  Some Techniques for Proving Correctness of Programs which Alter Data Structures , 2013 .

[16]  Stephen D. Brookes,et al.  A Semantics for Concurrent Separation Logic , 2004, CONCUR.

[17]  Peter W. O'Hearn,et al.  Smallfoot: Modular Automatic Assertion Checking with Separation Logic , 2005, FMCO.

[18]  Hongseok Yang,et al.  Local reasoning for stateful programs , 2001 .

[19]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[20]  Aquinas Hobor,et al.  The ramifications of sharing in data structures , 2013, POPL.

[21]  Xinyu Feng,et al.  A Practical Verification Framework for Preemptive OS Kernels , 2016, CAV.

[22]  Peter W. O'Hearn,et al.  Concurrent separation logic , 2016, SIGL.

[23]  Lars Birkedal,et al.  The Essence of Higher-Order Concurrent Separation Logic , 2017, ESOP.

[24]  Georg Struth,et al.  Hybrid process algebra , 2005, J. Log. Algebraic Methods Program..

[25]  Matthew J. Parkinson,et al.  Local reasoning for Java , 2005 .

[26]  Viktor Vafeiadis,et al.  Concurrent Abstract Predicates , 2010, ECOOP.

[27]  Cristiano Calcagno,et al.  Modular Automatic Assertion Checking with Separation Logic , 2005 .

[28]  Adam Chlipala,et al.  Using Crash Hoare logic for certifying the FSCQ file system , 2015, USENIX Annual Technical Conference.

[29]  Peter W. O'Hearn,et al.  A Local Shape Analysis Based on Separation Logic , 2006, TACAS.

[30]  Andrew W. Appel,et al.  Verified Correctness and Security of OpenSSL HMAC , 2015, USENIX Security Symposium.

[31]  Derek Dreyer,et al.  RustBelt: securing the foundations of the rust programming language , 2017, Proc. ACM Program. Lang..

[32]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[33]  Richard Bornat,et al.  Variables as Resource in Hoare Logics , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[34]  Lars Birkedal,et al.  BI-hyperdoctrines, higher-order separation logic, and abstraction , 2007, TOPL.

[35]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[36]  Peter W. O'Hearn,et al.  Possible worlds and resources: the semantics of BI , 2004, Theor. Comput. Sci..

[37]  Richard Bornat,et al.  Proving Pointer Programs in Hoare Logic , 2000, MPC.

[38]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[39]  Peter W. O'Hearn,et al.  A Semantic Basis for Local Reasoning , 2002, FoSSaCS.

[40]  Charles Antony Richard Hoare Towards a theory of parallel programming , 2002 .

[41]  Peter W. O'Hearn,et al.  Permission accounting in separation logic , 2005, POPL '05.

[42]  Andrew W. Appel,et al.  Program Logics for Certified Compilers , 2014 .

[43]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[44]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[45]  Checking a Large Routine Report of a Conference on High Speed Automatic Calculating machines Universal Turing Machine , 2011 .