Permission models

Preconditions

Files: [Slides] [Code examples]

Postconditions

Files: [Slides with solutions]

[Code examples]

What you should have learned after completing chapter 9:

  • How to use fractional permissions to specify and verify data structure with complex sharing, for example, doubly-linked lists or data structures with caching.
  • How to extend the encoding of the heap and permissions to allow for fractional permissions.
  • Strategies for permission accounting, for example wildcard permissions and permission fractions stored in ghost field.
  • Strengths and weaknesses of using recursive predicates for reasoning about complex data structures.
  • How to use quantified permissions to verify iterative traversals and random access data structures.