S. Brookes (2007):
A semantics for concurrent separation logic.
Theoretical Computer Science 375(1–3),
pp. 227–270,
doi:10.1016/j.tcs.2006.12.034.
R. J. Colvin, I. J. Hayes & L. A. Meinicke (2016):
Designing a semantic model for a wide-spectrum language with concurrency.
Formal Aspects of Computing 29,
pp. 853–875,
doi:10.1007/s00165-017-0416-4.
R. W. Floyd (1967):
Assigning meanings to programs.
In: Proceedings of Symposia in Applied Mathematics: Math. Aspects of Comput. Sci. 19,
pp. 19–32,
doi:10.1090/psapm/019/0235771.
I. J. Hayes (2016):
Generalised rely-guarantee concurrency: An algebraic foundation.
Formal Aspects of Computing 28(6),
pp. 1057–1078,
doi:10.1007/s00165-016-0384-0.
I. J. Hayes, R. J. Colvin, L. A. Meinicke, K. Winter & A. Velykis (2016):
An algebra of synchronous atomic steps.
In: J. Fitzgerald, C. Heitmeyer, S. Gnesi & A. Philippou: FM 2016: Formal Methods: 21st International Symposium, Proceedings,
LNCS 9995.
Springer International Publishing,
Cham,
pp. 352–369,
doi:10.1007/978-3-319-48989-6_22.
I. J. Hayes, C. B. Jones & R. J. Colvin (2014):
Laws and semantics for rely-guarantee refinement.
Technical Report CS-TR-1425.
Newcastle University.
Ian J. Hayes, Larissa A. Meinicke, Kirsten Winter & Robert J. Colvin (2018):
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency.
Formal Aspects of Computing,
doi:10.1007/s00165-018-0464-4.
Online 6 August 2018.
Maurice Herlihy & Jeannette M. Wing (1990):
Linearizability: A Correctness Condition for Concurrent Objects..
ACM Trans. Program. Lang. Syst. 12(3),
pp. 463–492,
doi:10.1145/78969.78972.
C. A. R. Hoare (1969):
An Axiomatic Basis for Computer Programming.
Communications of the ACM 12(10),
pp. 576–580, 583,
doi:10.1145/363235.363259.
C. A. R. Hoare (1972):
Towards a Theory of Parallel Programming.
In: Operating System Techniques.
Academic Press,
pp. 61–71.
C. A. R. Hoare (1975):
Parallel programming: an axiomatic approach.
Computer Languages 1(2),
pp. 151–160,
doi:10.1016/0096-0551(75)90014-4.
C. B. Jones (1981):
Development Methods for Computer Programs including a Notion of Interference.
Oxford University.
Available as: Oxford University Computing Laboratory (now Computer Science) Technical Monograph PRG-25.
C. B. Jones (1983):
Specification and Design of (Parallel) Programs.
In: Proceedings of IFIP'83.
North-Holland,
pp. 321–332.
C. B. Jones (1983):
Tentative Steps Toward a Development Method for Interfering Programs.
ACM ToPLaS 5(4),
pp. 596–619,
doi:10.1145/69575.69577.
Hongjin Liang & Xinyu Feng (2018):
Progress of Concurrent Objects with Partial Methods.
Proc. ACM Program. Lang. 2(POPL),
pp. 20:1–20:31,
doi:10.1145/3158108.
C. C. Morgan (1988):
The Specification Statement.
ACM Trans. Prog. Lang. and Sys. 10(3),
pp. 403–419,
doi:10.1145/44501.44503.
C. C. Morgan (1994):
Programming from Specifications,
second edition.
Prentice Hall.
P. W. O'Hearn (2007):
Resources, Concurrency and Local Reasoning.
Theoretical Computer Science 375(1-3),
pp. 271–307,
doi:10.1016/j.tcs.2006.12.035.
S. Owicki (1975):
Axiomatic Proof Techniques for Parallel Programs.
Department of Computer Science, Cornell University.
S. S. Owicki & D. Gries (1976):
An axiomatic proof technique for parallel programs I.
Acta Informatica 6(4),
pp. 319–340,
doi:10.1007/BF00268134.
Susan Owicki & David Gries (1976):
Verifying Properties of Parallel Programs: An Axiomatic Approach.
Commun. ACM 19(5),
pp. 279–285,
doi:10.1145/360051.360224.
Michael L. Scott (2013):
Shared-Memory Synchronization.
Morgan & Claypool Publishers.
R. K. Treiber (1986):
Systems Programming: Coping with Parallelism..
Technical Report RJ 5118.
IBM Almaden Research Center.
J. Wickerson, M. Dodds & M. J. Parkinson (2010):
Explicit stabilisation for modular rely-guarantee reasoning.
Technical Report 774.
Computer Laboratory, University of Cambridge.
J. Wickerson, M. Dodds & M. J. Parkinson (2010):
Explicit Stabilisation for Modular Rely-Guarantee Reasoning.
In: A. D. Gordon: ESOP,
LNCS 6012.
Springer,
pp. 610–629.
Available at http://dx.doi.org/10.1007/978-3-642-11957-6_32.