Reasoning about Separation Using Abstraction and Reification
Showing that concurrent threads operate on separate portions of their shared state is a way of establishing non-interference. Furthermore, in many useful programs, ownership of parts of the state are exchanged dynamically. Reasoning about separation and ownership of heap-based variables is often conducted using some form of separation logic. This paper examines the issue of separation and investigates the use of abstraction to specify and to reason about separation in program design. Two case studies demonstrate that using separation as an abstraction is a potentially useful approach.
KeywordsConcurrency Separation Ownership Abstraction
The research reported here is supported by (UK) EPSRC ‘Taming Concurrency’ and ‘TrAmS-2’ research grants. The authors would like to thank Andrius Velykis and our colleagues Ian Hayes, Larissa Meinicke and Kim Solin from the (Australian) ARC-funded project ‘Understanding concurrent programs using rely-guarantee thinking’ for their invaluable feedback.
- [HJC14]Hayes, I.J., Jones, C.B., Colvin, R.J.: Laws and semantics for rely-guarantee refinement. Technical report CS-TR-1425, Newcastle University, July 2014Google Scholar
- [Hoa72]Hoare, C.A.R.: Towards a theory of parallel programming. In: Operating System Techniques, pp. 61–71. Academic Press (1972)Google Scholar
- [Jon81]Jones, C.B.: Development methods for computer programs including a notion of interference. Ph.D. thesis, Oxford University, June 1981. Printed as: Programming Research Group, Technical Monograph 25Google Scholar
- [Jon83a]Jones, C.B.: Specification and design of (parallel) programs. In: Proceedings of IFIP 1983, pp. 321–332. North-Holland (1983)Google Scholar
- [JY15]Jones, C.B., Yatapanage, N.: Reasoning about separation using abstraction and reification (including proofs). Technical report CS-TR-1472, Newcastle University, June 2015Google Scholar
- [Rey02]Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: Proceedings of 17th LICS, pp. 55–74. IEEE (2002)Google Scholar
- [Vaf07]Vafeiadis, V.: Modular fine-grained concurrency verification. Ph.D. thesis, University of Cambridge (2007)Google Scholar