Concurrent FIFO queues are a common component of concurrent systems. Using a single shared lock to prevent concurrent manipulations of queue contents reduces system concurrency. Therefore, many algorithms were suggested to increase concurrency while maintaining the correctness of queue manipulations. This paper shows how to automatically verify partial correctness of concurrent FIFO queue algorithms using existing abstract interpretation techniques. In particular, we verify all the safety properties originally specified for two concurrent queue algorithms without imposing an a priori bound on the number of allocated objects and threads. © 2003 Published by Elsevier Science B.V.
Yahav, E., & Sagiv, M. (2003). Automatically verifying concurrent queue algorithms. Electronic Notes in Theoretical Computer Science, 89(3), 450–463. https://doi.org/10.1016/S1571-0661(05)80006-4