Skip to main content

LTL Model Checking for Recursive Programs

  • Conference paper
  • 662 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5799))

Abstract

We propose a complete algorithm to model check LTL (Linear Temporal Logic) formulas with recursive programs. Our program models are control flow graphs extended with procedure calls. The LTL formulas may then be used to specify constraints on the global variables and the local variables in the current scope. Our algorithm is based on semi-symbolic simulation of control-flow graphs to search for counter-examples. We apply post-dominance relation to reduce the number of the exploration traces. The existence of counter-examples is reduced to Boolean satisfiability while the termination of the exploration is reduced to Boolean unsatisfiability. We report our implementation and experiment.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic Model Checking: 1020 States and Beyond. IEEE LICS (1990)

    Google Scholar 

  2. Basler, G., Kroening, D., Weissenbacher, G.: SAT-based Summarization for Boolean Programs. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 131–148. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  3. Basler, G., Kroening, D., Weissenbacher, G.: A Complete Bounded Model Checking Algorithm for Pushdown Systems. In: Yorav, K. (ed.) HVC 2007. LNCS, vol. 4899, pp. 202–217. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Ball, T., Rajamani, S.: Bebop: A symbolic model checker for boolean programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  5. Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: DAC, pp. 317–320. ACM Press, New York (1999)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  7. Esparza, J., Schwoon, S.: A BDD-based model checker for recursive programs. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 324–336. Springer, Heidelberg (2001)

    Google Scholar 

  8. Ivancic, F., Yang, Z., Ganai, M., Gupta, A., Shlyakhter, I., Ashar, P.: F-Soft: Software Verification Platform. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 301–306. Springer, Heidelberg (2005)

    Google Scholar 

  9. Gupta, R.: Generalized Dominators and Post-dominators. In: ACM Symp. on Principles of Programming Languages, pp. 246–257 (1992)

    Google Scholar 

  10. Gastin, P., Oddoux, D.: Fast LTL to Bchi Automata Translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001)

    Google Scholar 

  11. Huang, G.D., Wang, B.Y.: Complete SAT-based Model Checking for Context-Free Processes. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds.) ATVA 2007. LNCS, vol. 4762, pp. 51–65. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  12. Hungar, H., Steffen, B.: Local model checking for context-free processes. Nordic Journal of Computing 1(3), 364–385 (1994)

    MathSciNet  MATH  Google Scholar 

  13. Reps, T., Horwitz, S., Sagiv, M.: Precise interprocedural dataflow analysis via graph reachability. In: Proc. of the ACM Symposium on Principles of Programming Languages (POPL 1995), pp. 49–61 (1995)

    Google Scholar 

  14. Rustan, K., Leino, M.: A SAT characterization of boolean-program correctness. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 104–120. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Vardi, M.Y.: Automata-Theoretic Model Checking Revisited. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 137–150. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Wang, B.Y.: Proving ∀ μ-calculus properties with SAT-based model checking. In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 113–127. Springer, Heidelberg (2005)

    Chapter  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

Huang, GD., Cai, LZ., Wang, F. (2009). LTL Model Checking for Recursive Programs. In: Liu, Z., Ravn, A.P. (eds) Automated Technology for Verification and Analysis. ATVA 2009. Lecture Notes in Computer Science, vol 5799. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04761-9_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04761-9_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04760-2

  • Online ISBN: 978-3-642-04761-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics