  Efficient implementations of atomic objects such as concurrent stacks and
queues are especially susceptible to programming errors, and necessitate
automatic verification. Unfortunately their correctness criteria -
linearizability with respect to given ADT specifications - are hard to verify.
Even on classes of implementations where the usual temporal safety properties
like control-state reachability are decidable, linearizability is undecidable.
  In this work we demonstrate that verifying linearizability for certain fixed
ADT specifications is reducible to control-state reachability, despite being
harder for arbitrary ADTs. We effectuate this reduction for several of the most
popular atomic objects. This reduction yields the first decidability results
for verification without bounding the number of concurrent threads.
Furthermore, it enables the application of existing safety-verification tools
to linearizability verification.
