Skip to main content

A Navigation Logic for Recursive Programs with Dynamic Thread Creation

  • Conference paper
  • First Online:
Verification, Model Checking, and Abstract Interpretation (VMCAI 2024)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14500))

Abstract

Dynamic Pushdown Networks (DPNs) are a model for multithreaded programs with recursion and dynamic creation of threads. In this paper, we propose a temporal logic called NTL for reasoning about the call- and return- as well as thread creation behaviour of DPNs. Using tree automata techniques, we investigate the model checking problem for the novel logic and show that its complexity is not higher than that of LTL model checking against pushdown systems despite a more expressive logic and a more powerful system model. The same holds true for the satisfiability problem when compared to the satisfiability problem for a related logic for reasoning about the call- and return-behaviour of pushdown systems. Overall, this novel logic offers a promising approach for the verification of recursive programs with dynamic thread creation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Oracle Java docs: Intrinsic locks and synchronization. https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html

  2. Alur, R., Arenas, M., Barceló, P., Etessami, K., Immerman, N., Libkin, L.: First-order and temporal logics for nested words. Log. Methods Comput. Sci. 4(4) (2008). https://doi.org/10.2168/LMCS-4(4:11)2008

  3. Alur, R., Chaudhuri, S., Madhusudan, P.: A fixpoint calculus for local and global program flows. In: Morrisett, J.G., Jones, S.L.P. (eds.) Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, 11–13 January 2006, pp. 153–165. ACM (2006). https://doi.org/10.1145/1111037.1111051

  4. Alur, R., Etessami, K., Madhusudan, P.: A temporal logic of nested calls and returns. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 467–481. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24730-2_35

    Chapter  Google Scholar 

  5. Alur, R., Madhusudan, P.: Adding nesting structure to words. In: Ibarra, O.H., Dang, Z. (eds.) DLT 2006. LNCS, vol. 4036, pp. 1–13. Springer, Heidelberg (2006). https://doi.org/10.1007/11779148_1

    Chapter  Google Scholar 

  6. Atig, M.F., Bouajjani, A., Qadeer, S.: Context-bounded analysis for concurrent programs with dynamic creation of threads. Log. Methods Comput. Sci. 7(4) (2011). https://doi.org/10.2168/LMCS-7(4:4)2011

  7. Bouajjani, A., Esparza, J., Maler, O.: Reachability analysis of pushdown automata: application to model-checking. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 135–150. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63141-0_10

    Chapter  Google Scholar 

  8. Bouajjani, A., Müller-Olm, M., Touili, T.: Regular symbolic analysis of dynamic networks of pushdown systems. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 473–487. Springer, Heidelberg (2005). https://doi.org/10.1007/11539452_36

    Chapter  Google Scholar 

  9. Bozzelli, L.: Alternating automata and a temporal fixpoint calculus for visibly pushdown languages. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 476–491. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74407-8_32

    Chapter  Google Scholar 

  10. Bozzelli, L., Lanotte, R.: Hybrid and first-order complete extensions of CaRet. In: Brünnler, K., Metcalfe, G. (eds.) TABLEAUX 2011. LNCS (LNAI), vol. 6793, pp. 58–72. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22119-4_7

    Chapter  Google Scholar 

  11. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0025774

    Chapter  Google Scholar 

  12. Diaz, M., Touili, T.: Model checking dynamic pushdown networks with locks and priorities. In: Podelski, A., Taïani, F. (eds.) NETYS 2018. LNCS, vol. 11028, pp. 240–251. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-05529-5_16

    Chapter  Google Scholar 

  13. Emerson, E.A., Jutla, C.S.: The complexity of tree automata and logics of programs (extended abstract). In: 29th Annual Symposium on Foundations of Computer Science, White Plains, New York, USA, 24–26 October 1988, pp. 328–337. IEEE Computer Society (1988). https://doi.org/10.1109/SFCS.1988.21949

  14. Gawlitza, T.M., Lammich, P., Müller-Olm, M., Seidl, H., Wenner, A.: Join-lock-sensitive forward reachability analysis for concurrent programs with dynamic process creation. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 199–213. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18275-4_15

    Chapter  Google Scholar 

  15. Grädel, E., Thomas, W., Wilke, T. (eds.): Automata Logics, and Infinite Games. LNCS, vol. 2500. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36387-4

    Book  Google Scholar 

  16. Gutsfeld, J.O., Müller-Olm, M., Nordhoff, B.: A branching time variant of CaRet. In: Gallardo, M.M., Merino, P. (eds.) SPIN 2018. LNCS, vol. 10869, pp. 153–170. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94111-0_9

    Chapter  Google Scholar 

  17. Kupferman, O., Vardi, M.Y.: Weak alternating automata and tree automata emptiness. In: Vitter, J.S. (ed.) Proceedings of the Thirtieth Annual ACM Symposium on the Theory of Computing, Dallas, Texas, USA, 23–26 May 1998, pp. 224–233. ACM (1998). https://doi.org/10.1145/276698.276748

  18. Lakenbrink, R., Müller-Olm, M., Ohrem, C., Gutsfeld, J.: A navigation logic for recursive programs with dynamic thread creation (2023). https://arxiv.org/abs/2310.19579

  19. Lammich, P., Müller-Olm, M., Seidl, H., Wenner, A.: Contextual locking for dynamic pushdown networks. In: Logozzo, F., Fähndrich, M. (eds.) SAS 2013. LNCS, vol. 7935, pp. 477–498. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38856-9_25

    Chapter  Google Scholar 

  20. Lammich, P., Müller-Olm, M., Wenner, A.: Predecessor sets of dynamic pushdown networks with tree-regular constraints. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 525–539. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_39

    Chapter  Google Scholar 

  21. Lange, M.: Weak automata for the linear time \(\mu \)-Calculus. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 267–281. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30579-8_18

    Chapter  Google Scholar 

  22. Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Deusen, M.S.V., Galil, Z., Reid, B.K. (eds.) Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, New Orleans, Louisiana, USA, January 1985, pp. 97–107. ACM Press (1985). https://doi.org/10.1145/318593.318622

  23. Löding, C.: Automata on infinite trees. In: Pin, J. (ed.) Handbook of Automata Theory, pp. 265–302. European Mathematical Society Publishing House, Zürich (2021). https://doi.org/10.4171/Automata-1/8

  24. Nordhoff, B., Müller-Olm, M., Lammich, P.: Iterable forward reachability analysis of Monitor-DPNs. In: Banerjee, A., Danvy, O., Doh, K., Hatcliff, J. (eds.) Semantics, Abstract Interpretation, and Reasoning about Programs: Essays Dedicated to David A. Schmidt on the Occasion of his Sixtieth Birthday, Manhattan, Kansas, USA, 19–20th September 2013. EPTCS, vol. 129, pp. 384–403 (2013). https://doi.org/10.4204/EPTCS.129.24

  25. Pnueli, A., Rosner, R.: On the synthesis of an asynchronous reactive module. In: Ausiello, G., Dezani-Ciancaglini, M., Della Rocca, S.R. (eds.) ICALP 1989. LNCS, vol. 372, pp. 652–671. Springer, Heidelberg (1989). https://doi.org/10.1007/BFb0035790

    Chapter  Google Scholar 

  26. Song, F., Touili, T.: Model checking dynamic pushdown networks. Formal Aspects Comput. 27(2), 397–421 (2015). https://doi.org/10.1007/s00165-014-0330-y

    Article  MathSciNet  Google Scholar 

  27. Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5(2), 285–309 (1955). https://projecteuclid.org:443/euclid.pjm/1103044538

  28. Vardi, M.Y.: A temporal fixpoint calculus. In: POPL, pp. 250–259. ACM Press (1988). https://doi.org/10.1145/73560.735822

  29. Vardi, M.Y.: Reasoning about the past with two-way automata. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 628–641. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055090

    Chapter  Google Scholar 

Download references

Acknowledgments

This work was partially funded by DFG project Model-Checking of Navigation Logics (MoNaLog) (MU 1508/3).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roman Lakenbrink .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lakenbrink, R., Müller-Olm, M., Ohrem, C., Gutsfeld, J. (2024). A Navigation Logic for Recursive Programs with Dynamic Thread Creation. In: Dimitrova, R., Lahav, O., Wolff, S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2024. Lecture Notes in Computer Science, vol 14500. Springer, Cham. https://doi.org/10.1007/978-3-031-50521-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-50521-8_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-50520-1

  • Online ISBN: 978-3-031-50521-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics