Advertisement

General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond

Open Access
Conference paper
  • 624 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12651)

Abstract

The model of asynchronous programming arises in many contexts, from low-level systems software to high-level web programming. We take a language-theoretic perspective and show general decidability and undecidability results for asynchronous programs that capture all known results as well as show decidability of new and important classes. As a main consequence, we show decidability of safety, termination and boundedness verification for higher-order asynchronous programs—such as OCaml programs using Lwt—and undecidability of liveness verification already for order-2 asynchronous programs. We show that under mild assumptions, surprisingly, safety and termination verification of asynchronous programs with handlers from a language class are decidable iff emptiness is decidable for the underlying language class. Moreover, we show that configuration reachability and liveness (fair termination) verification are equivalent, and decidability of these problems implies decidability of the well-known “equal-letters” problem on languages. Our results close the decidability frontier for asynchronous programs.

Keywords

Higher-order asynchronous programs Decidability 

References

  1. 1.
    Abdulla, P.A., Bouajjani, A., Jonsson, B.: On-the-fly analysis of systems with unbounded, lossy FIFO channels. In: Proceedings of the 10th International Conference on Computer Aided Verification (CAV 1998). pp. 305–318 (1998).  https://doi.org/10.1007/BFb0028754
  2. 2.
    Aho, A.V.: Indexed grammars - an extension of context-free grammars. J. ACM 15(4), 647–671 (1968).  https://doi.org/10.1145/321479.321488
  3. 3.
    Atig, M.F., Bouajjani, A., Qadeer, S.: Context-bounded analysis for concurrent programs with dynamic creation of threads. In: Proceedings of TACAS 2009. pp. 107–123 (2009)Google Scholar
  4. 4.
    Bachmeier, G., Luttenberger, M., Schlund, M.: Finite automata for the sub- and superword closure of CFLs: Descriptional and computational complexity. In: Proceedings of LATA 2015. pp. 473–485 (2015)Google Scholar
  5. 5.
    Berstel, J.: Transductions and context-free languages. Teubner-Verlag (1979)Google Scholar
  6. 6.
    Chadha, R., Viswanathan, M.: Decidability results for well-structured transition systems with auxiliary storage. In: CONCUR ’07: Proc. 18th Int. Conf. on Concurrency Theory. LNCS, vol. 4703, pp. 136–150. Springer (2007)Google Scholar
  7. 7.
    Clemente, L., Parys, P., Salvati, S., Walukiewicz, I.: The diagonal problem for higher-order recursion schemes is decidable. In: Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science, LICS ’16, New York, NY, USA, July 5–8, 2016. pp. 96–105. ACM (2016).  https://doi.org/10.1145/2933575.2934527
  8. 8.
    Courcelle, B.: On constructing obstruction sets of words. Bulletin of the EATCS 44, 178–186 (1991)Google Scholar
  9. 9.
    Damm, W.: The IO-and OI-hierarchies. Theoretical Computer Science 20(2), 95–207 (1982)Google Scholar
  10. 10.
    Damm, W., Goerdt, A.: An automata-theoretical characterization of the OI-hierarchy. Information and Control 71(1), 1–32 (1986)Google Scholar
  11. 11.
    Dufourd, C., Finkel, A., Schnoebelen, P.: Reset nets between decidability and undecidability. In: Proceedings of ICALP 1998. pp. 103–115 (1998)Google Scholar
  12. 12.
    Ganty, P., Majumdar, R.: Algorithmic verification of asynchronous programs. ACM Transactions on Programming Languages and Systems (TOPLAS) 34(1), 6 (2012)Google Scholar
  13. 13.
    Geeraerts, G., Raskin, J., Begin, L.V.: Well-structured languages. Acta Inf. 44(3–4), 249–288 (2007).  https://doi.org/10.1007/s00236-007-0050-3
  14. 14.
    Greibach, S.A.: Remarks on blind and partially blind one-way multicounter machines. Theoretical Computer Science 7(3), 311 – 324 (1978).  https://doi.org/10.1016/0304-3975(78)90020-8
  15. 15.
    Hague, M., Kochems, J., Ong, C.L.: Unboundedness and downward closures of higher-order pushdown automata. In: POPL 2016: Principles of Programming Languages. pp. 151–163. ACM (2016)Google Scholar
  16. 16.
    Hague, M., Murawski, A.S., Ong, C.L., Serre, O.: Collapsible pushdown automata and recursion schemes. In: Proceedings of the Twenty-Third Annual IEEE Symposium on Logic in Computer Science, LICS 2008, 24–27 June 2008, Pittsburgh, PA, USA. pp. 452–461 (2008).  https://doi.org/10.1109/LICS.2008.34
  17. 17.
    Haines, L.H.: On free monoids partially ordered by embedding. Journal of Combinatorial Theory 6(1), 94–98 (1969)Google Scholar
  18. 18.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computation, 3rd Edition. Pearson international edition, Addison-Wesley (2007)Google Scholar
  19. 19.
    Jantzen, M.: On the hierarchy of Petri net languages. RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications 13(1), 19–30 (1979), http://www.numdam.org/item?id=ITA_1979__13_1_19_0
  20. 20.
    Jhala, R., Majumdar, R.: Interprocedural analysis of asynchronous programs. In: POPL ’07: Proc. 34th ACM SIGACT-SIGPLAN Symp. on Principles of Programming Languages. pp. 339–350. ACM Press (2007)Google Scholar
  21. 21.
    Kobayashi, N.: Types and higher-order recursion schemes for verification of higher-order programs. In: Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2009, Savannah, GA, USA, January 21–23, 2009. pp. 416–428 (2009).  https://doi.org/10.1145/1480881.1480933
  22. 22.
    Kobayashi, N.: Inclusion between the frontier language of a non-deterministic recursive program scheme and the Dyck language is undecidable. Theoretical Computer Science 777, 409–416 (2019).Google Scholar
  23. 23.
    Kobayashi, N., Ong, C.L.: Complexity of model checking recursion schemes for fragments of the modal mu-calculus. Logical Methods in Computer Science 7(4) (2011)Google Scholar
  24. 24.
    van Leeuwen, J.: Effective constructions in well-partially-ordered free monoids. Discrete Mathematics 21(3), 237–252 (1978).  https://doi.org/10.1016/0012-365X(78)90156-5
  25. 25.
    Majumdar, R., Thinniyam, R.S., Zetzsche, G.: General decidability results for asynchronous shared-memory programs: Higher-order and beyond (2021), http://arxiv.org/abs/2101.08611
  26. 26.
    Maslov, A.: The hierarchy of indexed languages of an arbitrary level. Doklady Akademii Nauk 217(5), 1013–1016 (1974)Google Scholar
  27. 27.
    Mayr, R.: Undecidable problems in unreliable computations. Theoretical Computer Science 297(1–3), 337–354 (2003)Google Scholar
  28. 28.
    Ong, L.: Higher-order model checking: An overview. In: 30th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2015, Kyoto, Japan, July 6–10, 2015. pp. 1–15 (2015).  https://doi.org/10.1109/LICS.2015.9
  29. 29.
    Parys, P.: The complexity of the diagonal problem for recursion schemes. In: Proceedings of FSTTCS 2017. Leibniz International Proceedings in Informatics (LIPIcs), vol. 93, pp. 45:1–45:14 (2018)Google Scholar
  30. 30.
    Sen, K., Viswanathan, M.: Model checking multithreaded programs with asynchronous atomic methods. In: CAV ’06: Proc. 18th Int. Conf. on Computer Aided Verification. LNCS, vol. 4144, pp. 300–314. Springer (2006)Google Scholar
  31. 31.
    Sipser, M.: Introduction to the theory of computation. PWS Publishing Company (1997)Google Scholar
  32. 32.
    Thinniyam, R.S., Zetzsche, G.: Regular separability and intersection emptiness are independent problems. In: Proceedings of FSTTCS 2019. Leibniz International Proceedings in Informatics (LIPIcs), vol. 150, pp. 51:1–51:15. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2019).  https://doi.org/10.4230/LIPIcs.FSTTCS.2019.51
  33. 33.
    Zetzsche, G.: An approach to computing downward closures. In: ICALP 2015. vol. 9135, pp. 440–451. Springer (2015), the undecidability of \(Z\) intersection is shown in the full version: http://arxiv.org/abs/1503.01068

Copyright information

© The Author(s) 2021

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  1. 1.Max Planck Institute for Software Systems (MPI-SWS)KaiserslauternGermany

Personalised recommendations