TY - GEN
T1 - Sequential verification of serializability
AU - Attiya, H.
AU - Ramalingam, G.
AU - Rinetzky, N.
PY - 2010
Y1 - 2010
N2 - Serializability is a commonly used correctness condition in concurrent programming. When a concurrent module is serializable, certain other properties of the module can be verified by considering only its sequential executions. In many cases, concurrent modules guarantee serializability by using standard locking protocols, such as tree locking or two-phase locking. Unfortunately, according to the existing literature, verifying that a concurrent module adheres to these protocols requires considering concurrent interleavings. In this paper, we show that adherence to a large class of locking protocols (including tree locking and two-phase locking) can be verified by considering only sequential executions. The main consequence of our results is that in many cases, the (manual or automatic) verification of serializability can itself be done using sequential reasoning.
AB - Serializability is a commonly used correctness condition in concurrent programming. When a concurrent module is serializable, certain other properties of the module can be verified by considering only its sequential executions. In many cases, concurrent modules guarantee serializability by using standard locking protocols, such as tree locking or two-phase locking. Unfortunately, according to the existing literature, verifying that a concurrent module adheres to these protocols requires considering concurrent interleavings. In this paper, we show that adherence to a large class of locking protocols (including tree locking and two-phase locking) can be verified by considering only sequential executions. The main consequence of our results is that in many cases, the (manual or automatic) verification of serializability can itself be done using sequential reasoning.
KW - Concurrency
KW - Reduction
KW - Serializability
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=77950876314&partnerID=8YFLogxK
U2 - 10.1145/1706299.1706305
DO - 10.1145/1706299.1706305
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:77950876314
SN - 9781605584799
T3 - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
SP - 31
EP - 42
BT - POPL'10 - Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
T2 - 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'10
Y2 - 17 January 2010 through 23 January 2010
ER -