Advertisement

Branching Temporal Logic of Calls and Returns for Pushdown Systems

  • Huu-Vu NguyenEmail author
  • Tayssir TouiliEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11023)

Abstract

Pushdown Systems (PDSs) are a natural model for sequential programs with (recursive) procedure calls. In this work, we define the Branching temporal logic of CAlls and RETurns (BCARET) that allows to write branching temporal formulas while taking into account the matching between calls and returns. We consider the model-checking problem of PDSs against BCARET formulas with “standard” valuations (where an atomic proposition holds at a configuration c or not depends only on the control state of c, not on its stack) as well as regular valuations (where the set of configurations in which an atomic proposition holds is regular). We show that these problems can be effectively solved by a reduction to the emptiness problem of Alternating Büchi Pushdown Systems. We show that our results can be applied for malware detection.

References

  1. 1.
    Alur, R., Benedikt, M., Etessami, K., Godefroid, P., Reps, T.W., Yannakakis, M.: Analysis of recursive state machines. ACM Trans. Program. Lang. Syst. 27(4), 786–818 (2005)CrossRefGoogle Scholar
  2. 2.
    Alur, R., Chaudhuri, S., Madhusudan, P.: A fixpoint calculus for local and global program flows. In: POPL 2006 (2006)Google Scholar
  3. 3.
    Alur, R., Chaudhuri, S., Madhusudan, P.: Languages of nested trees. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 329–342. Springer, Heidelberg (2006).  https://doi.org/10.1007/11817963_31CrossRefGoogle Scholar
  4. 4.
    Alur, R., Chaudhuri, S., Madhusudan, P.: Software model checking using languages of nested trees. ACM Trans. Program. Lang. Syst. 33(5), 15 (2011)CrossRefGoogle Scholar
  5. 5.
    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_35CrossRefzbMATHGoogle Scholar
  6. 6.
    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_10CrossRefGoogle Scholar
  7. 7.
    Bozzelli, L.: Complexity results on branching-time pushdown model checking. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 65–79. Springer, Heidelberg (2005).  https://doi.org/10.1007/11609773_5CrossRefGoogle Scholar
  8. 8.
    Burkart, O., Steffen, B.: Model checking the full modal mu-calculus for infinite sequential processes. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256, pp. 419–429. Springer, Heidelberg (1997).  https://doi.org/10.1007/3-540-63165-8_198CrossRefGoogle Scholar
  9. 9.
    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).  https://doi.org/10.1007/10722167_20CrossRefGoogle Scholar
  10. 10.
    Esparza, J., Kucera, A., Schwoon, S.: Model checking LTL with regular valuations for pushdown systems. Inf. Comput. 186(2), 355–376 (2003)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Finkel, A., Willems, B., Wolper, P.: A direct symbolic approach to model checking pushdown systems. Electr. Notes Theor. Comput. Sci. 9, 27–37 (1997)CrossRefGoogle Scholar
  12. 12.
    Kupferman, O., Piterman, N., Vardi, M.Y.: An automata-theoretic approach to infinite-state systems. In: Manna, Z., Peled, D.A. (eds.) Time for Verification. LNCS, vol. 6200, pp. 202–259. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-13754-9_11CrossRefGoogle Scholar
  13. 13.
    Nguyen, H.-V., Touili, T.: CARET model checking for pushdown systems. In: SAC 2017 (2017)Google Scholar
  14. 14.
    Schwoon, S.: Model-Checking Pushdown Systems. Dissertation, Technische Universität München, München (2002)Google Scholar
  15. 15.
    Song, F., Touili, T.: Efficient CTL model-checking for pushdown systems. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 434–449. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-23217-6_29CrossRefGoogle Scholar
  16. 16.
    Song, F., Touili, T.: Efficient malware detection using model-checking. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 418–433. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-32759-9_34CrossRefGoogle Scholar
  17. 17.
    Song, F., Touili, T.: LTL model-checking for malware detection. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 416–431. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36742-7_29CrossRefzbMATHGoogle Scholar
  18. 18.
    Walukiewicz, I.: Pushdown processes: games and model checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 62–74. Springer, Heidelberg (1996).  https://doi.org/10.1007/3-540-61474-5_58CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.LIPN, CNRS and University Paris 13VilletaneuseFrance
  2. 2.CNRS, LIPN and University Paris 13VilletaneuseFrance

Personalised recommendations