B. Dongol & J. Derrick (2015):
Verifying Linearisability: A Comparative Survey.
ACM Comput. Surv. 48(2),
pp. 19:1–19:43,
doi:10.1145/2796550.
B. Dongol, J. Derrick, L. Groves & G. Smith (2015):
Defining Correctness Conditions for Concurrent Objects in Multicore Architectures.
In: J. T. Boyland: ECOOP,
LIPIcs 37.
Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
pp. 470–494,
doi:10.4230/LIPIcs.ECOOP.2015.470.
I. Filipovic, P. W. O'Hearn, N. Rinetzky & H. Yang (2010):
Abstraction for concurrent objects.
Theor. Comput. Sci. 411(51-52),
pp. 4379–4398,
doi:10.1016/j.tcs.2010.09.021.
A. Gotsman & H. Yang (2011):
Liveness-Preserving Atomicity Abstraction.
In: L. Aceto, M. Henzinger & J. Sgall: ICALP(2),
LNCS 6756.
Springer,
pp. 453–465,
doi:10.1007/978-3-642-22012-8\voidb@x 0.06emwidth0.5em36.
I. J. Hayes, S. Dunne & L. Meinicke (2010):
Unifying Theories of Programming That Distinguish Nontermination and Abort.
In: C. Bolduc, J. Desharnais & B. Ktari: MPC,
LNCS 6120.
Springer,
pp. 178–194,
doi:10.1007/978-3-642-13321-3\voidb@x 0.06emwidth0.5em12.
J. He, C. A. R. Hoare & J. W. Sanders (1986):
Data Refinement Refined.
In: B. Robinet & R. Wilhelm: ESOP,
LNCS 213.
Springer,
pp. 187–196,
doi:10.1007/3-540-16442-1\voidb@x 0.06emwidth0.5em14.
M. Herlihy & N. Shavit (2008):
The Art of Multiprocessor Programming.
Morgan Kaufmann.
M. P. Herlihy & J. 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.
L. Lamport (1979):
How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor.
IEEE Trans. Computers 46(7),
pp. 779–782,
doi:10.1109/12.599898.
R. K. Treiber (1986):
Systems programming: Coping with parallelism.
Technical Report RJ 5118.
IBM Almaden Res. Ctr..