Skip to main content

Visibly Pushdown Kleene Algebra and Its Use in Interprocedural Analysis of (Mutually) Recursive Programs

  • Conference paper
Relations and Kleene Algebra in Computer Science (RelMiCS 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5827))

Included in the following conference series:

Abstract

Kleene algebra is a great formalism for doing intraprocedural analysis and verification of programs, but it seems difficult to deal with interprocedural analysis where the power of context-free languages is often needed to represent both the program and the property. In the model checking framework, Alur and Madhusudan defined visibly pushdown automata, which accept a subclass of context-free languages called visibly pushdown languages, to do some interprocedural analyses of programs while remaining decidable. We present visibly pushdown Kleene algebra, an extension of Kleene algebra that axiomatises exactly the equational theory of visibly pushdown languages. The algebra is simply Kleene algebra along with a family of implicit least fixed point operators. Some interprocedural analyses of (mutually) recursive programs are possible in this formalism and it can deal with some non-regular properties.

This research is supported by NSERC and FQRNT.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Alur, R., Madhusudan, P.: Visibly pushdown languages. In: STOC 2004: Proc. of the 36th ACM symp. on Theory of computing, pp. 202–211. ACM, New York (2004)

    Chapter  Google Scholar 

  2. Bloom, S.L., Ésik, Z.: Iteration theories: the equational logic of iterative processes. Springer, New York (1993)

    MATH  Google Scholar 

  3. Bolduc, C., Desharnais, J.: Static analysis of programs using omega algebra with tests. In: MacCaull, W., Winter, M., Düntsch, I. (eds.) RelMiCS 2005. LNCS, vol. 3929, pp. 60–72. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  4. Bolduc, C., Ktari, B.: Visibly pushdown Kleene algebra. Technical Report DIUL-RR-0901, Laval university, QC, Canada (2009)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Chaudhuri, S., Alur, R.: Instrumenting C programs with nested word monitors. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 279–283. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  7. Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110(2), 366–390 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  8. Kozen, D.: Kleene algebra with tests. Transactions on Programming Languages and Systems 19(3), 427–443 (1997)

    Article  Google Scholar 

  9. Kozen, D.: Kleene algebras with tests and the static analysis of programs. Technical Report TR2003-1915, Cornell University, NY, USA (November 2003)

    Google Scholar 

  10. Leiß, H.: Kleene modules and linear languages. Journal of Logic and Algebraic Programming 66(2), 185–194 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  11. Leiß, H.: Towards Kleene algebra with recursion. In: Kleine Büning, H., Jäger, G., Börger, E., Richter, M.M. (eds.) CSL 1991. LNCS, vol. 626, pp. 242–256. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  12. Löding, C., Lutz, C., Serre, O.: Propositional dynamic logic with recursive programs. Journal of Logic and Algebraic Programming 73, 51–69 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  13. Mathieu, V., Desharnais, J.: Verification of pushdown systems using omega algebra with domain. In: MacCaull, W., Winter, M., Düntsch, I. (eds.) RelMiCS 2005. LNCS, vol. 3929, pp. 188–199. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Schwoon, S.: Model-Checking Pushdown Systems. PhD thesis, Technische Universität München (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bolduc, C., Ktari, B. (2009). Visibly Pushdown Kleene Algebra and Its Use in Interprocedural Analysis of (Mutually) Recursive Programs. In: Berghammer, R., Jaoua, A.M., Möller, B. (eds) Relations and Kleene Algebra in Computer Science. RelMiCS 2009. Lecture Notes in Computer Science, vol 5827. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04639-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04639-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04638-4

  • Online ISBN: 978-3-642-04639-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics