Local Reasoning for the POSIX File System

We provide a program logic for specifying a core subset of the sequential POSIX file system, and for reasoning abstractly about client programs working with the file system.

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

[2]  Eric S. Raymond,et al.  Filesystem Hierarchy Standard , 2015 .

[3]  Lars Birkedal,et al.  Unifying refinement and hoare-style reasoning in a logic for higher-order concurrency , 2013, ICFP.

[4]  Hongseok Yang,et al.  Variables as Resource in Separation Logic , 2005, MFPS.

[5]  Adam Wright,et al.  Abstract Local Reasoning for Concurrent Libraries: Mind the Gap , 2014, MFPS.

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

[7]  Gerard J. Holzmann,et al.  A mini challenge: build a verifiable filesystem , 2007, Formal Aspects of Computing.

[8]  Philippa Gardner,et al.  Context logic and tree update , 2005, POPL '05.

[9]  Gareth Smith,et al.  Local reasoning about Web programs , 2011 .

[10]  Viktor Kuncak,et al.  Verifying a File System Implementation , 2004, ICFEM.

[11]  Philippa Gardner,et al.  Small Specifications for Tree Update , 2009, WS-FM.

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

[13]  GardnerPhilippa,et al.  Context logic and tree update , 2005 .

[14]  Jim Woodcock,et al.  POSIX and the Verification Grand Challenge: A Roadmap , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[15]  Philippa Gardner,et al.  Local Hoare reasoning about DOM , 2008, PODS.

[16]  Wim H. Hesselink,et al.  Formalizing a hierarchical file system , 2009, Formal Aspects of Computing.

[17]  Theo D'Hondt ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Maribor, Slovenia, June 21-25, 2010. Proceedings , 2010, ECOOP.

[18]  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.

[19]  Jim Woodcock,et al.  POSIX file store in Z/Eves: an experiment in the verified software repository , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[20]  Gavin M. Bierman,et al.  Separation logic and abstraction , 2005, POPL '05.

[21]  David Walker,et al.  Forest: a language and toolkit for programming with filestores , 2011, ICFP '11.

[22]  Adam Wright,et al.  Structural separation logic , 2013 .

[23]  Lars Birkedal,et al.  Impredicative Concurrent Abstract Predicates , 2014, ESOP.

[24]  Carroll Morgan,et al.  Specification of the UNIX Filing System , 1984, IEEE Transactions on Software Engineering.

[25]  Philippa Gardner,et al.  Reasoning about the POSIX file system: local update and global pathnames , 2015, OOPSLA.

[26]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.