Analysing Mu-Calculus Properties of Pushdown Systems

  • Matthew Hague
  • C. -H. Luke Ong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6349)


Pushdown systems provide a natural model of software with recursive procedure calls. We provide a tool (PDSolver) implementing an algorithm for computing the winning regions of a pushdown parity game and its adaptation to the direct computation of modal μ-calculus properties over pushdown systems. We also extend the algorithm to allow backwards, as well as forwards, modalities and allow the user to restrict the control flow graph to configurations reachable from a designated initial state. These extensions are motivated by applications in dataflow analysis. We provide two sets of experimental data. First, we obtain a picture of the general behaviour by analysing random problem instances. Secondly, we use the tool to perform dataflow analysis on real-world Java programs, taken from the DaCapo benchmark suite.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Lamprecht, A., Margaria, T., Steffen, B.: Data-flow analysis as model checking within the jabc. In: Mycroft, A., Zeller, A. (eds.) CC 2006. LNCS, vol. 3923, pp. 101–104. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Steffen, B.: Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 346–365. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  4. 4.
    Hague, M., Ong, C.-H.L.: Winning regions of pushdown parity games: A saturation method. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 384–398. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Bradfield, J.C., Stirling, C.P.: Modal logics and mu-calculi: An introduction. In: Handbook of Process Algebra, pp. 293–330 (2001)Google Scholar
  7. 7.
    Hague, M., Ong, C.H.L.: A saturation method for the modal mu-calculus with backwards modalities over pushdown systems. arXiv:1006.5906v1 [cs.FL] (2010)Google Scholar
  8. 8.
    Vallée-Rai, R., Hendren, L., Sundaresan, V., Lam, P., Gagnon, E., Co, P.: Soot - a Java optimization framework. In: CASCON 1999, pp. 125–135 (1999)Google Scholar
  9. 9.
    Blackburn, S.M., et al.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA 2006, pp. 169–190 (2006)Google Scholar
  10. 10.
    Schwoon, S.: Model-checking Pushdown Systems. PhD thesis, Technical University of Munich (2002)Google Scholar
  11. 11.
    Ball, T., Rajamani, S.K.: Bebop: A symbolic model checker for boolean programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 113–130. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Ball, T., Rajamani, S.K.: The SLAM project: Debugging system software via static analysis. In: POPL 2002, pp. 1–3 (2002)Google Scholar
  13. 13.
    Cachat, T.: Higher order pushdown automata, the caucal hierarchy of graphs and parity games. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 556–569. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Reps, T., Schwoon, S., Jha, S., Melski, D.: Weighted pushdown systems and their application to interprocedural dataflow analysis. Sci. Comput. Program. 58(1-2), 206–263 (2005)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Matthew Hague
    • 1
  • C. -H. Luke Ong
    • 1
  1. 1.Computing LaboratoryOxford UniversityUK

Personalised recommendations