Advertisement

Computing

, Volume 101, Issue 9, pp 1227–1240 | Cite as

On the complexity of linearizability

  • Jad HamzaEmail author
Article
  • 23 Downloads

Abstract

It was previously shown that the problem of verifying whether a finite concurrent system is linearizable can be done with an \(\mathsf{EXPSPACE}\) complexity. However, the best known lower bound is \(\mathsf{PSPACE}\)-hardness, and can be obtained using a reduction from control-state reachability to linearizability. In this paper, we close the complexity gap between the \(\mathsf{PSPACE}\) lower bound and the \(\mathsf{EXPSPACE}\) upper bound, and show that linearizability is \(\mathsf{EXPSPACE}\)-complete.

Keywords

Linearizability Complexity Verification Concurrency 

Mathematics Subject Classification

68N30 

Notes

Acknowledgements

This work was done during my doctorate thesis at LIAFA, Université Paris Diderot, under the supervision of Ahmed Bouajjani and Constantin Enea.

References

  1. 1.
    Alur R, McMillan KL, Peled D (2000) Model-checking of correctness conditions for concurrent objects. Inf Comput 160(1–2):167–188MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Bouajjani A, Emmi M, Enea C, Hamza J (2013) Verifying concurrent programs against sequential specifications. In: ESOP’13. LNCS, vol 7792. Springer, pp 290–309Google Scholar
  3. 3.
    Burckhardt S, Dern C, Musuvathi M, Tan R (2010) Line-up: a complete and automatic linearizability checker. In: Proceedings of the 2010 ACM SIGPLAN conference on programming language design and implementation, PLDI’10. ACM, New York, pp 330–340.  https://doi.org/10.1145/1806596.1806634
  4. 4.
    Elmas T, Qadeer S, Sezgin A, Subasi O, Taşıran S (2010) Simplifying linearizability proofs with reduction and abstraction. In: TACAS’10: Proceedings of the 16th international conference on tools and algorithms for the construction and analysis of systems. LNCS, vol 6015. Springer, pp 296–311Google Scholar
  5. 5.
    Filipovic I, O’Hearn PW, Rinetzky N, Yang H (2010) Abstraction for concurrent objects. Theor Comput Sci 411(51–52):4379–4398MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Fürer M (1980) The complexity of the inequivalence problem for regular expressions with intersection. In: Proceedings of the 7th colloquium on automata, languages and programming. Springer, London, pp 234–245. http://dl.acm.org/citation.cfm?id=646234.682559
  7. 7.
    Gibbons PB, Korach E (1997) Testing shared memories. SIAM J Comput 26(4):1208–1244MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Herlihy M, Wing JM (1990) Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3):463–492CrossRefGoogle Scholar
  9. 9.
    Hunt H (1973) The equivalence problem for regular expressions with intersection is not polynomial in tape. Department of Computer Science: technical report, Cornell University, Department of Computer Science. http://books.google.fr/books?id=52j6HAAACAAJ
  10. 10.
    Mayer AJ, Stockmeyer LJ (1994) The complexity of word problems—this time with interleaving. Inf Comput 115(2):293–311.  https://doi.org/10.1006/inco.1994.1098 MathSciNetCrossRefGoogle Scholar
  11. 11.
    Rajamani SK, Walker D (eds) (2015) Proceedings of the 42nd annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL 2015, Mumbai, India, January 15–17, 2015. ACM. http://dl.acm.org/citation.cfm?id=2676726
  12. 12.
    Vafeiadis V (2010) Automatically proving linearizability. In: CAV’10. LNCS, vol 6174, pp 450–464Google Scholar
  13. 13.
    Vechev MT, Yahav E, Yorsh, G (2009) Experience with model checking linearizability. In: SPIN’09: Proceedings of the 16th international SPIN workshop on model checking software. LNCS, vol 5578. Springer, pp 261–278Google Scholar

Copyright information

© Springer-Verlag GmbH Austria, part of Springer Nature 2018

Authors and Affiliations

  1. 1.EPFL INRIAÉcole Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations