Skip to main content

Declarative Network Verification

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2009)

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

Included in the following conference series:

Abstract

In this paper, we present our initial design and implementation of a declarative network verifier (DNV). DNV utilizes theorem proving, a well established verification technique where logic-based axioms that automatically capture network semantics are generated, and a user-driven proof process is used to establish network correctness properties. DNV takes as input declarative networking specifications written in the Network Datalog (NDlog) query language, and maps that automatically into logical axioms that can be directly used in existing theorem provers to validate protocol correctness. DNV is a significant improvement compared to existing use case of theorem proving which typically require several man-months to construct the system specifications. Moreover, NDlog, a high-level specification, whose semantics are precisely compiled into DNV without loss, can be directly executed as implementations, hence bridging specifications, verification, and implementation. To validate the use of DNV, we present case studies using DNV in conjunction with the PVS theorem prover to verify routing protocols, including eventual properties of protocols in dynamic settings.

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P2: Declarative Networking, http://p2.cs.berkeley.edu

  2. Archer, M., Vito, B.D., Muñoz, C.: Developing user strategies in PVS: A tutorial. In: STRATA 2003, NASA/CP-2003-212448 (2003)

    Google Scholar 

  3. Bertot, Y., Castéran, P.: Interactive theorem proving and program development. coq’art: The calculus of inductive constructions (2004)

    Google Scholar 

  4. Bhargavan, K., Obradovic, D., Gunter, C.A.: Formal verification of standards for distance vector routing protocols. J. ACM 49(4), 538–576 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  5. Cardell-Oliver, R.: On the use of the hol system for protocol verification. In: TPHOLs, pp. 59–62 (1991)

    Google Scholar 

  6. DNV use cases for protocol verification, http://www.seas.upenn.edu/~anduo/dnv.html

  7. Engler, D., Musuvathi, M.: Model-checking large network protocol implementations. In: NSDI (2004)

    Google Scholar 

  8. Rodriguez, A., et al.: MACEDON: Methodology for Automatically Creating, Evaluating, and Designing Overlay Networks. In: NSDI (2004)

    Google Scholar 

  9. Feamster, N., Balakrishnan, H.: Correctness Properties for Internet Routing. In: Allerton Conference on Communication, Control, and Computing (2005)

    Google Scholar 

  10. Felty, A.P., Howe, D.J., Stomp, F.A.: Protocol verification in nuprl. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Griffin, T.G., Sobrinho, J.L.: Metarouting. In: ACM SIGCOMM (2005)

    Google Scholar 

  12. Havelund, K., Shankar, N.: Experiments in theorem proving and model checking for protocol verification. In: Gaudel, M.-C., Woodcock, J.C.P. (eds.) FME 1996. LNCS, vol. 1051. Springer, Heidelberg (1996)

    Google Scholar 

  13. Killian, C., Anderson, J., Jhala, R., Vahdat, A.: Life, death, and the critical transition: Finding liveness bugs in systems code. In: NSDI (2007)

    Google Scholar 

  14. Killian, C.E., Anderson, J.W., Braud, R., Jhala, R., Vahdat, A.M.: Mace: language support for building distributed systems. In: PLDI (2007)

    Google Scholar 

  15. Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: PDPTA (1999)

    Google Scholar 

  16. Liu, X., Guo, Z., Wang, X., Chen, F., Tang, X.L.J., Wu, M., Kaashoek, M.F., Zhang, Z.: D3S: Debugging Deployed Distributed Systems. In: NSDI (2008)

    Google Scholar 

  17. Loo, B.T.: The Design and Implementation of Declarative Networks (Ph.D. Dissertation). Technical Report UCB/EECS-2006-177, UC Berkeley (2006)

    Google Scholar 

  18. Loo, B.T., Condie, T., Garofalakis, M., Gay, D.E., Hellerstein, J.M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I.: Declarative Networking: Language, Execution and Optimization. In: ACM SIGMOD (2006)

    Google Scholar 

  19. Loo, B.T., Condie, T., Hellerstein, J.M., Maniatis, P., Roscoe, T., Stoica, I.: Implementing Declarative Overlays. In: ACM SOSP (2005)

    Google Scholar 

  20. Loo, B.T., Hellerstein, J.M., Stoica, I., Ramakrishnan, R.: Declarative Routing: Extensible Routing with Declarative Queries. In: ACM SIGCOMM (2005)

    Google Scholar 

  21. Owre, S., Rajan, S., Rushby, J.M., Shankar, N., Srivas, M.K.: PVS: Combining Specification, Proof Checking, and Model Checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  22. Owre, S., Shankar, N.: Writing PVS proof strategies. In: STRATA 2003 (2003)

    Google Scholar 

  23. Peterson, L., Davie, B.: Computer Networks: A Systems Approach, 4th edn. Morgan Kaufmann, San Francisco (2007)

    MATH  Google Scholar 

  24. Peterson, L., Shenker, S., Turner, J.: Overcoming the Internet Impasse Through Virtualization. In: HotNets-III (2004)

    Google Scholar 

  25. Ramakrishnan, R., Ullman, J.D.: A Survey of Research on Deductive Database Systems. Journal of Logic Programming 23(2), 125–149 (1993)

    Article  Google Scholar 

  26. Raman, S., McCanne, S.: A model, analysis, and protocol framework for soft state-based communication. In: SIGCOMM, pp. 15–25 (1999)

    Google Scholar 

  27. Reynolds, P., Killian, C., Wiener, J.L., Mogul, J.C., Shah, M.A., Vahdat, A.: Pip: Detecting the Unexpected in Distributed Systems. In: NSDI (2006)

    Google Scholar 

  28. Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2), 91–110 (2002)

    MATH  Google Scholar 

  29. Rushby, J.: Specification, proof checking, and model checking for protocols and distributed systems with PVS. In: Tutorial FORTE X/PSTV XVII 1997 (1997)

    Google Scholar 

  30. Abiteboul, S., et al.: Foundations of Databases. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  31. Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A Scalable P2P Lookup Service for Internet Applications. In: SIGCOMM (2001)

    Google Scholar 

  32. Wang, A., Basu, P., Loo, B.T., Sokolsky, O.: Declarative Network Verification. University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-08-34 (2008)

    Google Scholar 

  33. Yices, http://yices.csl.sri.com

  34. Z3, http://research.microsoft.com/projects/Z3/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wang, A., Basu, P., Loo, B.T., Sokolsky, O. (2008). Declarative Network Verification. In: Gill, A., Swift, T. (eds) Practical Aspects of Declarative Languages. PADL 2009. Lecture Notes in Computer Science, vol 5418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92995-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-92995-6_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-92994-9

  • Online ISBN: 978-3-540-92995-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics