skip to main content
research-article
Open Access

Parameterized verification under TSO is PSPACE-complete

Published:20 December 2019Publication History
Skip Abstract Section

Abstract

We consider parameterized verification of concurrent programs under the Total Store Order (TSO) semantics. A program consists of a set of processes that share a set of variables on which they can perform read and write operations. We show that the reachability problem for a system consisting of an arbitrary number of identical processes is PSPACE-complete. We prove that the complexity is reduced to polynomial time if the processes are not allowed to read the initial values of the variables in the memory. When the processes are allowed to perform atomic read-modify-write operations, the reachability problem has a non-primitive recursive complexity.

References

  1. Parosh Aziz Abdulla. 2012. Regular model checking. STTT 14, 2 (2012), 109–118. Google ScholarGoogle ScholarCross RefCross Ref
  2. Parosh Aziz Abdulla, Jatin Arora, Mohamed Faouzi Atig, and Shankara Narayanan Krishna. 2019. Verification of programs under the release-acquire semantics. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, Phoenix, AZ, USA, June 22-26, 2019. , Kathryn S. McKinley and Kathleen Fisher (Eds.). ACM, 1117–1132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, and Tuan Phong Ngo. 2018a. A Load-Buffer Semantics for Total Store Ordering. Logical Methods in Computer Science 14, 1 (2018). Google ScholarGoogle ScholarCross RefCross Ref
  4. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Radu Ciobanu, Richard Mayr, and Patrick Totzke. 2018b. Universal Safety for Timed Petri Nets is PSPACE-complete. In 29th International Conference on Concurrency Theory, CONCUR 2018, September 4-7, 2018, Beijing, China (LIPIcs) , Sven Schewe and Lijun Zhang (Eds.), Vol. 118. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 6:1–6:15. Google ScholarGoogle ScholarCross RefCross Ref
  5. Parosh Aziz Abdulla, Yu-Fang Chen, Giorgio Delzanno, Frédéric Haziza, Chih-Duo Hong, and Ahmed Rezine. 2010. Constrained Monotonic Abstraction: A CEGAR for Parameterized Verification, See [ Gastin and Laroussinie 2010 ], 86–101. Google ScholarGoogle ScholarCross RefCross Ref
  6. Parosh Aziz Abdulla and Giorgio Delzanno. 2016. Parameterized verification. STTT 18, 5 (2016), 469–473. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Parosh Aziz Abdulla, Johann Deneux, and Pritha Mahata. 2004. Multi-Clock Timed Networks. In 19th IEEE Symposium on Logic in Computer Science (LICS 2004), 14-17 July 2004, Turku, Finland, Proceedings . IEEE Computer Society, 345–354. Google ScholarGoogle ScholarCross RefCross Ref
  8. Parosh Aziz Abdulla, Frédéric Haziza, and Lukás Holík. 2016. Parameterized verification through view abstraction. STTT 18, 5 (2016), 495–516. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Parosh Aziz Abdulla and Bengt Jonsson. 2003. Model checking of systems with many identical timed processes. Theor. Comput. Sci. 290, 1 (2003), 241–264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Parosh Aziz Abdulla, A. Prasad Sistla, and Muralidhar Talupur. 2018c. Model Checking Parameterized Systems. In Handbook of Model Checking. , Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, and Roderick Bloem (Eds.). Springer, 685–725. Google ScholarGoogle ScholarCross RefCross Ref
  11. Krzysztof R. Apt and Dexter Kozen. 1986. Limits for Automatic Verification of Finite-State Concurrent Systems. Inf. Process. Lett. 22, 6 (1986), 307–309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Mohamed Faouzi Atig, Ahmed Bouajjani, Sebastian Burckhardt, and Madanlal Musuvathi. 2010. On the verification problem for weak memory models. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, Madrid, Spain, January 17-23, 2010 , Manuel V. Hermenegildo and Jens Palsberg (Eds.). ACM, 7–18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Roderick Bloem, Swen Jacobs, Ayrat Khalimov, Igor Konnov, Sasha Rubin, Helmut Veith, and Josef Widder. 2016. Decidability in Parameterized Verification. SIGACT News 47, 2 (2016), 53–64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Bernard Boigelot, Axel Legay, and Pierre Wolper. 2003. Iterating Transducers in the Large (Extended Abstract). In Computer Aided Verification, 15th International Conference, CAV 2003, Boulder, CO, USA, July 8-12, 2003, Proceedings (Lecture Notes in Computer Science) , Warren A. Hunt Jr. and Fabio Somenzi (Eds.), Vol. 2725. Springer, 223–235. Google ScholarGoogle ScholarCross RefCross Ref
  15. Ahmed Bouajjani, Egor Derevenetc, and Roland Meyer. 2013. Checking and Enforcing Robustness against TSO. In Programming Languages and Systems - 22nd European Symposium on Programming, ESOP 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings (Lecture Notes in Computer Science) , Matthias Felleisen and Philippa Gardner (Eds.), Vol. 7792. Springer, 533–553. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ahmed Bouajjani, Peter Habermehl, Adam Rogalewicz, and Tomás Vojnar. 2012. Abstract regular (tree) model checking. STTT 14, 2 (2012), 167–191. Google ScholarGoogle ScholarCross RefCross Ref
  17. Sebastian Burckhardt. 2014. Principles of Eventual Consistency. Foundations and Trends in Programming Languages 1, 1-2 (2014), 1–150.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Allan Cheng, Javier Esparza, and Jens Palsberg. 1995. Complexity Results for 1-Safe Nets. Theor. Comput. Sci. 147, 1&2 (1995), 117–136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Giorgio Delzanno, Arnaud Sangnier, and Gianluigi Zavattaro. 2010. Parameterized Verification of Ad Hoc Networks, See [ Gastin and Laroussinie 2010 ], 313–327. Google ScholarGoogle ScholarCross RefCross Ref
  20. Egor Derevenetc. 2015. Robustness against Relaxed Memory Models. Ph.D. Dissertation. University of Kaiserslautern. http://kluedo.ub.uni-kl.de/frontdoor/index/index/docId/4074Google ScholarGoogle Scholar
  21. Marco Elver and Vijay Nagarajan. 2014. TSO-CC: Consistency directed cache coherence for TSO. In HPCA 2014. IEEE, 165–176.Google ScholarGoogle ScholarCross RefCross Ref
  22. E. Allen Emerson, John Havlicek, and Richard J. Trefler. 2000. Virtual Symmetry Reduction. In 15th Annual IEEE Symposium on Logic in Computer Science, Santa Barbara, California, USA, June 26-29, 2000 . IEEE Computer Society, 121–131. Google ScholarGoogle ScholarCross RefCross Ref
  23. E. Allen Emerson and Vineet Kahlon. 2003. Exact and Efficient Verification of Parameterized Cache Coherence Protocols. In Correct Hardware Design and Verification Methods, 12th IFIP WG 10.5 Advanced Research Working Conference, CHARME 2003, L’Aquila, Italy, October 21-24, 2003, Proceedings (Lecture Notes in Computer Science) , Daniel Geist and Enrico Tronci (Eds.), Vol. 2860. Springer, 247–262. Google ScholarGoogle ScholarCross RefCross Ref
  24. E. Allen Emerson and Vineet Kahlon. 2004. Parameterized Model Checking of Ring-Based Message Passing Systems. In Computer Science Logic, 18th International Workshop, CSL 2004, 13th Annual Conference of the EACSL, Karpacz, Poland, September 20-24, 2004, Proceedings (Lecture Notes in Computer Science) , Jerzy Marcinkowski and Andrzej Tarlecki (Eds.), Vol. 3210. Springer, 325–339. Google ScholarGoogle ScholarCross RefCross Ref
  25. Javier Esparza, Alain Finkel, and Richard Mayr. 1999. On the Verification of Broadcast Protocols. In 14th Annual IEEE Symposium on Logic in Computer Science, Trento, Italy, July 2-5, 1999 . IEEE Computer Society, 352–359. Google ScholarGoogle Scholar
  26. Javier Esparza, Pierre Ganty, and Rupak Majumdar. 2016. Parameterized Verification of Asynchronous Shared-Memory Systems. J. ACM 63, 1 (2016), 10:1–10:48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Marie Fortin, Anca Muscholl, and Igor Walukiewicz. 2017. Model-Checking Linear-Time Properties of Parametrized Asynchronous Shared-Memory Pushdown Systems. In Computer Aided Verification - 29th International Conference, CAV 2017, Heidelberg, Germany, July 24-28, 2017, Proceedings, Part II (Lecture Notes in Computer Science) , Rupak Majumdar and Viktor Kuncak (Eds.), Vol. 10427. Springer, 155–175. Google ScholarGoogle ScholarCross RefCross Ref
  28. Pierre Ganty and Rupak Majumdar. 2012. Algorithmic verification of asynchronous programs. ACM Trans. Program. Lang. Syst. 34, 1 (2012), 6:1–6:48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Paul Gastin and François Laroussinie (Eds.). 2010. CONCUR 2010 - Concurrency Theory, 21th International Conference, CONCUR 2010, Paris, France, August 31-September 3, 2010. Proceedings . Lecture Notes in Computer Science, Vol. 6269. Springer. Google ScholarGoogle ScholarCross RefCross Ref
  30. Steven M. German and A. Prasad Sistla. 1992. Reasoning about Systems with Many Processes. J. ACM 39, 3 (1992), 675–735. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Matthew Hague. 2011. Parameterised Pushdown Systems with Non-Atomic Writes. In IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2011, December 12-14, 2011, Mumbai, India (LIPIcs) , Supratik Chakraborty and Amit Kumar (Eds.), Vol. 13. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 457–468. Google ScholarGoogle ScholarCross RefCross Ref
  32. Vineet Kahlon. 2008. Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs. In Proceedings of the Twenty-Third Annual IEEE Symposium on Logic in Computer Science, LICS 2008, 24-27 June 2008, Pittsburgh, PA, USA . IEEE Computer Society, 181–192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Alexander Kaiser, Daniel Kroening, and Thomas Wahl. 2010. Dynamic Cutoff Detection in Parameterized Concurrent Programs. In Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings (Lecture Notes in Computer Science) , Tayssir Touili, Byron Cook, and Paul B. Jackson (Eds.), Vol. 6174. Springer, 645–659. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Yonit Kesten, Oded Maler, Monica Marcus, Amir Pnueli, and Elad Shahar. 2001. Symbolic model checking with rich assertional languages. Theor. Comput. Sci. 256, 1-2 (2001), 93–112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Salvatore La Torre, Anca Muscholl, and Igor Walukiewicz. 2015. Safety of Parametrized Asynchronous Shared-Memory Systems is Almost Always Decidable. In 26th International Conference on Concurrency Theory, CONCUR 2015, Madrid, Spain, September 1.4, 2015 (LIPIcs) , Luca Aceto and David de Frutos-Escrig (Eds.), Vol. 42. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 72–84. Google ScholarGoogle ScholarCross RefCross Ref
  36. Ori Lahav, Nick Giannarakis, and Viktor Vafeiadis. 2016. Taming release-acquire consistency. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20 - 22, 2016 , Rastislav Bodík and Rupak Majumdar (Eds.). ACM, 649–662.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Anca Muscholl, Helmut Seidl, and Igor Walukiewicz. 2017. Reachability for Dynamic Parametric Processes. In Verification, Model Checking, and Abstract Interpretation - 18th International Conference, VMCAI 2017, Paris, France, January 15-17, 2017, Proceedings (Lecture Notes in Computer Science) , Ahmed Bouajjani and David Monniaux (Eds.), Vol. 10145. Springer, 424–441. Google ScholarGoogle ScholarCross RefCross Ref
  38. Kedar S. Namjoshi and Richard J. Trefler. 2016. Parameterized Compositional Model Checking. In Tools and Algorithms for the Construction and Analysis of Systems - 22nd International Conference, TACAS 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2-8, 2016, Proceedings (Lecture Notes in Computer Science) , Marsha Chechik and Jean-François Raskin (Eds.), Vol. 9636. Springer, 589–606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Scott Owens, Susmit Sarkar, and Peter Sewell. 2009. A Better x86 Memory Model: x86-TSO. In Theorem Proving in Higher Order Logics, 22nd International Conference, TPHOLs 2009, Munich, Germany, August 17-20, 2009. Proceedings (Lecture Notes in Computer Science) , Stefan Berghofer, Tobias Nipkow, Christian Urban, and Makarius Wenzel (Eds.), Vol. 5674. Springer, 391–407.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Alberto Ros and Stefanos Kaxiras. 2016. Racer: TSO consistency via race detection. In 49th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2016, Taipei, Taiwan, October 15-19, 2016 . IEEE Computer Society, 33:1–33:13.Google ScholarGoogle ScholarCross RefCross Ref
  41. Susmit Sarkar, Peter Sewell, Jade Alglave, Luc Maranget, and Derek Williams. 2011. Understanding POWER multiprocessors. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2011, San Jose, CA, USA, June 4-8, 2011 , Mary W. Hall and David A. Padua (Eds.). ACM, 175–186.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Walter J. Savitch. 1970. Relationships Between Nondeterministic and Deterministic Tape Complexities. J. Comput. Syst. Sci. 4, 2 (1970), 177–192.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Peter Sewell, Susmit Sarkar, Scott Owens, Francesco Zappa Nardelli, and Magnus O. Myreen. 2010. x86-TSO: a rigorous and usable programmer’s model for x86 multiprocessors. Commun. ACM 53, 7 (2010), 89–97.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. D. Weaver and T. Germond (Eds.). 1994. The SPARC Architecture Manual Version 9. PTR Prentice Hall.Google ScholarGoogle Scholar

Index Terms

  1. Parameterized verification under TSO is PSPACE-complete

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!