Skip to main content

Faster Pushdown Reachability Analysis with Applications in Network Verification

  • Conference paper
  • First Online:
Automated Technology for Verification and Analysis (ATVA 2021)

Abstract

Reachability analysis of pushdown systems is a fundamental problem in model checking that comes with a wide range of applications. We study performance improvements of pushdown reachability analysis and as a case study, we consider the verification of the policy-compliance of MPLS (Multiprotocol Label Switching) networks, an application domain that has recently received much attention. Our main contribution are three techniques that allow us to speed up the state-of-the-art pushdown reachability tools by an order of magnitude. These techniques include the combination of classic \( pre ^*\) and \( post ^*\) saturation algorithms into a dual-search algorithm, an on-the-fly technique for detecting the possibility of early termination, as well as a counter-example guided abstraction refinement technique that improves the performance in particular for the negative instances where the early termination technique is not applicable. As a second contribution, we describe an improved translation of MPLS networks to pushdown systems and demonstrate on an extensive set of benchmarks of real internet wide-area networks the efficiency of our approach.

Research supported by the Vienna Science and Technology Fund (WWTF), ICT19-045 (WHATIF), and the DFF project QASNET.

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

Access this chapter

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

Institutional subscriptions

References

  1. Anderson, C.J., et al.: NetKAT: semantic foundations for networks. In: POPL 2014, pp. 113–126. ACM (2014)

    Google Scholar 

  2. Beckett, R., Mahajan, R., Millstein, T., Padhye, J., Walker, D.: Don’t mind the gap: bridging network-wide objectives and device-level configurations. In: ACM SIGCOMM 2016, pp. 328–341. ACM (2016)

    Google Scholar 

  3. 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_10

    Chapter  Google Scholar 

  4. Büchi, J.R.: Regular canonical systems. Archiv für mathematische Logik und Grundlagenforschung 6(3–4), 91–111 (1964)

    MathSciNet  MATH  Google Scholar 

  5. Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000). https://doi.org/10.1007/10722167_15

    Chapter  Google Scholar 

  6. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Trans. Prog. Lang. Syst. 16(5), 1512–1542 (1994)

    Google Scholar 

  7. Conway, C.L., Namjoshi, K.S., Dams, D., Edwards, S.A.: Incremental algorithms for inter-procedural analysis of safety properties. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 449–461. Springer, Heidelberg (2005). https://doi.org/10.1007/11513988_45

    Chapter  Google Scholar 

  8. El-Hassany, A., Tsankov, P., Vanbever, L., Vechev, M.: Network-wide configuration synthesis. In: Majumdar, R., Kunčak, V. (eds.) CAV 2017. LNCS, vol. 10427, pp. 261–281. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63390-9_14

    Chapter  Google Scholar 

  9. Esparza, J., Kiefer, S., Schwoon, S.: Abstraction refinement with Craig interpolation and symbolic pushdown systems. J. Satisf. Boolean Model. Comput. 5(1–4), 27–56 (2009)

    MathSciNet  MATH  Google Scholar 

  10. Esparza, J., Knoop, J.: An automata-theoretic approach to interprocedural data-flow analysis. In: Thomas, W. (ed.) FoSSaCS 1999. LNCS, vol. 1578, pp. 14–30. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-49019-1_2

    Chapter  Google Scholar 

  11. 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). https://doi.org/10.1007/3-540-44585-4_30

    Chapter  Google Scholar 

  12. Finkel, A., Willems, B., Wolper, P.: A direct symbolic approach to model checking pushdown systems. In: INFINITY 1997. ENTCS, vol. 9, pp. 27–37. Elsevier (1997)

    Google Scholar 

  13. Jensen, J.S., Krøgh, T.B., Madsen, J.S., Schmid, S., Srba, J., Thorgersen, M.T.: P-Rex: fast verification of MPLS networks with multiple link failures. In: CoNEXT, pp. 217–227. ACM (2018)

    Google Scholar 

  14. Jensen, P.G., Kristiansen, D., Schmid, S., Schou, M.K., Schrenk, B.C., Srba, J.: AalWiNes: a fast and quantitative what-if analysis tool for MPLS networks. In: CoNEXT 2020, pp. 474–481. ACM (2020)

    Google Scholar 

  15. Kazemian, P., Varghese, G., McKeown, N.: Header space analysis: static checking for networks. In: Proceedings of the NSDI, pp. 113–126 (2012)

    Google Scholar 

  16. Knight, S., Nguyen, H., Falkner, N., Bowden, R., Roughan, M.: The internet topology Zoo. IEEE J. Sel. Areas Commun. 29(9), 1765–1775 (2011)

    Article  Google Scholar 

  17. Schmid, S., Srba, J.: Polynomial-time what-if analysis for prefix-manipulating MPLS networks. In: IEEE INFOCOM 2018, pp. 1799–1807. IEEE (2018)

    Google Scholar 

  18. Schwoon, S.: Model-checking pushdown systems. Ph.D. thesis, Technische Universität München (2002)

    Google Scholar 

  19. Schwoon, S.: Moped (2002). http://www2.informatik.uni-stuttgart.de/fmi/szs/tools/moped/

  20. Suwimonteerabuth, D., Schwoon, S., Esparza, J.: jMoped: a java bytecode checker based on moped. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 541–545. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-31980-1_35

    Chapter  Google Scholar 

Download references

Acknowledgements

We thank to Bernhard Schrenk for updating the AalWiNes online demo at https://demo.aalwines.cs.aau.dk with the improved verification engine described in this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jiří Srba .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jensen, P.G., Schmid, S., Schou, M.K., Srba, J., Vanerio, J., Duijn, I.v. (2021). Faster Pushdown Reachability Analysis with Applications in Network Verification. In: Hou, Z., Ganesh, V. (eds) Automated Technology for Verification and Analysis. ATVA 2021. Lecture Notes in Computer Science(), vol 12971. Springer, Cham. https://doi.org/10.1007/978-3-030-88885-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-88885-5_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-88884-8

  • Online ISBN: 978-3-030-88885-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics