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
This research was sponsored in part by the Deutsche Forschungsgemeinschaft project 389792660 TRR 248–CPEC and by the European Research Council under the Grant Agreement 610150 (ERC Synergy Grant ImPACT).
Chapter PDF
References
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
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
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)
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)
Berstel, J.: Transductions and context-free languages. Teubner-Verlag (1979)
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)
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
Courcelle, B.: On constructing obstruction sets of words. Bulletin of the EATCS 44, 178–186 (1991)
Damm, W.: The IO-and OI-hierarchies. Theoretical Computer Science 20(2), 95–207 (1982)
Damm, W., Goerdt, A.: An automata-theoretical characterization of the OI-hierarchy. Information and Control 71(1), 1–32 (1986)
Dufourd, C., Finkel, A., Schnoebelen, P.: Reset nets between decidability and undecidability. In: Proceedings of ICALP 1998. pp. 103–115 (1998)
Ganty, P., Majumdar, R.: Algorithmic verification of asynchronous programs. ACM Transactions on Programming Languages and Systems (TOPLAS) 34(1), 6 (2012)
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
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
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)
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
Haines, L.H.: On free monoids partially ordered by embedding. Journal of Combinatorial Theory 6(1), 94–98 (1969)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computation, 3rd Edition. Pearson international edition, Addison-Wesley (2007)
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
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)
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
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).
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)
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
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
Maslov, A.: The hierarchy of indexed languages of an arbitrary level. Doklady Akademii Nauk 217(5), 1013–1016 (1974)
Mayr, R.: Undecidable problems in unreliable computations. Theoretical Computer Science 297(1–3), 337–354 (2003)
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
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)
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)
Sipser, M.: Introduction to the theory of computation. PWS Publishing Company (1997)
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
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.
Copyright information
© 2021 The Author(s)
About this paper
Cite this paper
Majumdar, R., Thinniyam, R.S., Zetzsche, G. (2021). General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond. In: Groote, J.F., Larsen, K.G. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2021. Lecture Notes in Computer Science(), vol 12651. Springer, Cham. https://doi.org/10.1007/978-3-030-72016-2_24
Download citation
DOI: https://doi.org/10.1007/978-3-030-72016-2_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-72015-5
Online ISBN: 978-3-030-72016-2
eBook Packages: Computer ScienceComputer Science (R0)
-
Published in cooperation with
http://www.etaps.org/