Advertisement

Declarative Network Verification

  • Anduo Wang
  • Prithwish Basu
  • Boon Thau Loo
  • Oleg Sokolsky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5418)

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.

Keywords

Declarative networking network protocol verification domain-specific languages theorem proving 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    P2: Declarative Networking, http://p2.cs.berkeley.edu
  2. 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. 3.
    Bertot, Y., Castéran, P.: Interactive theorem proving and program development. coq’art: The calculus of inductive constructions (2004)Google Scholar
  4. 4.
    Bhargavan, K., Obradovic, D., Gunter, C.A.: Formal verification of standards for distance vector routing protocols. J. ACM 49(4), 538–576 (2002)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Cardell-Oliver, R.: On the use of the hol system for protocol verification. In: TPHOLs, pp. 59–62 (1991)Google Scholar
  6. 6.
    DNV use cases for protocol verification, http://www.seas.upenn.edu/~anduo/dnv.html
  7. 7.
    Engler, D., Musuvathi, M.: Model-checking large network protocol implementations. In: NSDI (2004)Google Scholar
  8. 8.
    Rodriguez, A., et al.: MACEDON: Methodology for Automatically Creating, Evaluating, and Designing Overlay Networks. In: NSDI (2004)Google Scholar
  9. 9.
    Feamster, N., Balakrishnan, H.: Correctness Properties for Internet Routing. In: Allerton Conference on Communication, Control, and Computing (2005)Google Scholar
  10. 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)CrossRefGoogle Scholar
  11. 11.
    Griffin, T.G., Sobrinho, J.L.: Metarouting. In: ACM SIGCOMM (2005)Google Scholar
  12. 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. 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. 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. 15.
    Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: PDPTA (1999)Google Scholar
  16. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  22. 22.
    Owre, S., Shankar, N.: Writing PVS proof strategies. In: STRATA 2003 (2003)Google Scholar
  23. 23.
    Peterson, L., Davie, B.: Computer Networks: A Systems Approach, 4th edn. Morgan Kaufmann, San Francisco (2007)MATHGoogle Scholar
  24. 24.
    Peterson, L., Shenker, S., Turner, J.: Overcoming the Internet Impasse Through Virtualization. In: HotNets-III (2004)Google Scholar
  25. 25.
    Ramakrishnan, R., Ullman, J.D.: A Survey of Research on Deductive Database Systems. Journal of Logic Programming 23(2), 125–149 (1993)CrossRefGoogle Scholar
  26. 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. 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. 28.
    Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2), 91–110 (2002)MATHGoogle Scholar
  29. 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. 30.
    Abiteboul, S., et al.: Foundations of Databases. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  31. 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. 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. 33.
  34. 34.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Anduo Wang
    • 1
  • Prithwish Basu
    • 2
  • Boon Thau Loo
    • 1
  • Oleg Sokolsky
    • 1
  1. 1.Computer and Information Sciences DepartmentUniversity of Pennsylvania
  2. 2.Network Research Group, BBN TechnologiesCambridge

Personalised recommendations