Permission models
Preconditions
Files: [Slides] [Code examples]
Postconditions
Files: [Slides with solutions]
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.