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.
Similar content being viewed by others
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