Abstract
We present a denotational semantics based on action traces, for parallel programs which share mutable data and synchronize using resources and conditional critical regions. We introduce a resource-sensitive logic for partial correctness, adapting separation logic to the concurrent setting, as proposed by O’Hearn. The logic allows program proofs in which “ownership” of a piece of state is deemed to transfer dynamically between processes and resources. We prove soundness of this logic, using a novel “local” interpretation of traces, and we show that every provable program is race-free.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hansen, P.B.: Structured multiprogramming. Comm. ACM 15(7), 574–578 (1972)
Hansen, P.B.: Concurrent programming concepts. ACM Computing Surveys 5(4), 223–245 (1973)
Brookes, S.D.: Traces, pomsets, fairness and full abstraction for communicating processes. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 466–482. Springer, Heidelberg (2002)
Brookes, S.: Communicating Parallel Processes: Deconstructing CSP. In: Millenium Perspectives in Computer Science. Proc. 1999 Oxford-Microsoft Symposium in honour of Sir Tony Hoare, Palgrave (2000)
Brookes, S.: Full abstraction for a shared-variable parallel language. Inf. Comp. 127(2), 145–163 (1996)
Dijkstra, E.W.: Cooperating sequential processes. In: Genuys, F. (ed.) Programming Languages, pp. 43–112. Academic Press, London (1968)
Hoare, C.A.R.: Towards a Theory of Parallel Programming. In: Hoare, C.A.R., Perrott, R.H. (eds.) Operating Systems Techniques, pp. 61–71. Academic Press, London (1972)
Isthiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: Proc. 28th POPL conference, pp. 36–49 (January 2001)
Jones, C.B.: Specification and design of (parallel) programs. In: Proc. IFIP Conference (1983)
Lauer, H.C.: Correctness in operating systems. Ph. D. thesis, Carnegie Mellon University (1973)
O’Hearn, P.W.: Notes on separation logic for shared-variable concurrency (January 2002) (unpublished manuscript)
O’Hearn, P.W.: Resources, Concurrency and Local Reasoning. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 49–67. Springer, Heidelberg (2004)
O’Hearn, P.W., Yang, H., Reynolds, J.C.: Separation and Information Hiding. In: Proc. 31st POPL conference, Venice, pp. 268–280. ACM Press, New York (2004)
O’Hearn, P.W., Pym, D.J.: The logic of bunched implications. Bulletin of Symbolic Logic 5(2), 215–244 (1999)
Owicki, S., Gries, D.: Verifying properties of parallel programs: An axiomatic approach. Comm. ACM. 19(5), 279–285 (1976)
Park, D.: On the semantics of fair parallelism. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 504–526. Springer, Heidelberg (1980)
Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: Proc. 17th IEEE Conference on Logic in Computer Science, LICS 2002, pp. 55–74. IEEE Computer Society, Los Alamitos (2002)
Reynolds, J.C.: Lecture notes on separation logic (15-819A3), ch. 8, Department of Computer Science, Carnegie-Mellon University, p. 178 (Spring 2003) (Revised May 23, 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brookes, S. (2004). A Semantics for Concurrent Separation Logic. In: Gardner, P., Yoshida, N. (eds) CONCUR 2004 - Concurrency Theory. CONCUR 2004. Lecture Notes in Computer Science, vol 3170. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28644-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-28644-8_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22940-7
Online ISBN: 978-3-540-28644-8
eBook Packages: Springer Book Archive