On Reducing Linearizability to State Reachability

  • Ahmed Bouajjani
  • Michael Emmi
  • Constantin Enea
  • Jad Hamza
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9135)


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.


Regular Language Call Action Method Event Sequential Execution Inductive Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abdulla, P.A., Haziza, F., Holík, L., Jonsson, B., Rezine, A.: An integrated specification and verification technique for highly concurrent data structures. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 324–338. Springer, Heidelberg (2013) Google Scholar
  2. 2.
    Alur, R., McMillan, K.L., Peled, D.: Model-checking of correctness conditions for concurrent objects. Inf. Comput. 160(1–2) (2000)Google Scholar
  3. 3.
    Bouajjani, A., Emmi, M., Enea, C., Hamza, J.: Verifying concurrent programs against sequential specifications. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 290–309. Springer, Heidelberg (2013) Google Scholar
  4. 4.
    Bouajjani, A., Emmi, M., Enea, C., Hamza, J.: Tractable refinement checking for concurrent objects. In: POPL 2015. ACM (2015)Google Scholar
  5. 5.
    Bouajjani, A., Emmi, M., Enea, C., Hamza, J.: On reducing linearizability to state reachability. CoRR, abs/1502.06882 (2015).
  6. 6.
    Dodds, M., Haas, A., Kirsch, C.M.: A scalable, correct time-stamped stack. In: POPL 2015. ACM (2015)Google Scholar
  7. 7.
    Esparza, J.: Decidability and complexity of petri net problems—an introduction. Lectures on Petri Nets I: Basic Models. Springer, Heidelberg (1998) Google Scholar
  8. 8.
    Filipovic, I., O’Hearn, P.W., Rinetzky, N., Yang, H.: Abstraction for concurrent objects. Theor. Comput. Sci. 411(51–52) (2010)Google Scholar
  9. 9.
    Gibbons, P.B., Korach, E.: Testing shared memories. SIAM J. Comput. 26(4) (1997)Google Scholar
  10. 10.
    Hamza, J.: On the complexity of linearizability. CoRR, abs/1410.5000 (2014).
  11. 11.
    Henzinger, T.A., Sezgin, A., Vafeiadis, V.: Aspect-oriented linearizability proofs. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013 – Concurrency Theory. LNCS, vol. 8052, pp. 242–256. Springer, Heidelberg (2013) Google Scholar
  12. 12.
    Herlihy, M., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3) (1990)Google Scholar
  13. 13.
    Vafeiadis, V.: Automatically proving linearizability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 450–464. Springer, Heidelberg (2010) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Ahmed Bouajjani
    • 1
  • Michael Emmi
    • 2
  • Constantin Enea
    • 1
  • Jad Hamza
    • 1
  1. 1.LIAFA, Université Paris DiderotParisFrance
  2. 2.IMDEA Software InstituteMadridSpain

Personalised recommendations