LTL Model-Checking for Communicating Concurrent Programs

  • Adrien PommelletEmail author
  • Tayssir Touili
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11181)


Communicating Pushdown Systems (CPDSs) can be used to model multi-threaded programs with recursive procedure calls and synchronisation by rendez-vous between parallel threads. While the reachability problem for this particular class of automata is undecidable, it can be tackled using an algebraic framework for computing abstractions of context-free languages. In this paper, we combine this framework with an automata-based approach in order to approximate an answer to the model-checking problem for Linear Temporal Logic (LTL) on CPDSs: we show that, given a single-indexed LTL formula, we can accurately tell if a CPDS does not follow this formula. Finally, we show how this method can be used to find race conditions in concurrent programs.


  1. 1.
    Atig, M.F.: Model-checking of ordered multi-pushdown automata. Log. Methods Comput. Sci. 8(3), (2012)Google Scholar
  2. 2.
    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). Scholar
  3. 3.
    Bouajjani, A., Esparza, J., Touili, T.: A generic approach to the static analysis of concurrent programs with procedures. In: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2003, pp. 62–73, New York. ACM (2003)Google Scholar
  4. 4.
    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). Scholar
  5. 5.
    Chaki, S., Clarke, E., Kidd, N., Reps, T., Touili, T.: Verifying concurrent message-passing C programs with recursive calls. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 334–349. Springer, Heidelberg (2006). Scholar
  6. 6.
    Esparza, J., Hansel, D., Rossmanith, P., Schwoon, S.: Efficient algorithms for model checking pushdown systems. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 232–247. Springer, Heidelberg (2000). Scholar
  7. 7.
    Pommellet, A., Touili, T.: Static analysis of multithreaded recursive programs communicating via Rendez-Vous. In: Chang, B.-Y.E. (ed.) APLAS 2017. LNCS, vol. 10695, pp. 235–254. Springer, Cham (2017). Scholar
  8. 8.
    Qadeer, S., Rehof, J.: Context-bounded model checking of concurrent software. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 93–107. Springer, Heidelberg (2005). Scholar
  9. 9.
    Song, F., Touili, T.: Efficient CTL model-checking for pushdown systems. Theor. Comput. Sci. 549, 127–145 (2014)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Song, F., Touili, T.: Model-checking dynamic pushdown networks. Form. Asp. Comput. 27(2), 397–421 (2015)MathSciNetCrossRefGoogle Scholar
  11. 11.
    La Torre, S., Madhusudan, P., Parlato, G.: A robust class of context-sensitive languages. In: 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007), pp. 161–170, July 2007Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.LIPN and Université Paris-DiderotParisFrance
  2. 2.LIPN, CNRS, and Université Paris 13VilletaneuseFrance

Personalised recommendations