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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
P2: Declarative Networking, http://p2.cs.berkeley.edu
Archer, M., Vito, B.D., Muñoz, C.: Developing user strategies in PVS: A tutorial. In: STRATA 2003, NASA/CP-2003-212448 (2003)
Bertot, Y., Castéran, P.: Interactive theorem proving and program development. coq’art: The calculus of inductive constructions (2004)
Bhargavan, K., Obradovic, D., Gunter, C.A.: Formal verification of standards for distance vector routing protocols. J. ACM 49(4), 538–576 (2002)
Cardell-Oliver, R.: On the use of the hol system for protocol verification. In: TPHOLs, pp. 59–62 (1991)
DNV use cases for protocol verification, http://www.seas.upenn.edu/~anduo/dnv.html
Engler, D., Musuvathi, M.: Model-checking large network protocol implementations. In: NSDI (2004)
Rodriguez, A., et al.: MACEDON: Methodology for Automatically Creating, Evaluating, and Designing Overlay Networks. In: NSDI (2004)
Feamster, N., Balakrishnan, H.: Correctness Properties for Internet Routing. In: Allerton Conference on Communication, Control, and Computing (2005)
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)
Griffin, T.G., Sobrinho, J.L.: Metarouting. In: ACM SIGCOMM (2005)
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)
Killian, C., Anderson, J., Jhala, R., Vahdat, A.: Life, death, and the critical transition: Finding liveness bugs in systems code. In: NSDI (2007)
Killian, C.E., Anderson, J.W., Braud, R., Jhala, R., Vahdat, A.M.: Mace: language support for building distributed systems. In: PLDI (2007)
Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: PDPTA (1999)
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)
Loo, B.T.: The Design and Implementation of Declarative Networks (Ph.D. Dissertation). Technical Report UCB/EECS-2006-177, UC Berkeley (2006)
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)
Loo, B.T., Condie, T., Hellerstein, J.M., Maniatis, P., Roscoe, T., Stoica, I.: Implementing Declarative Overlays. In: ACM SOSP (2005)
Loo, B.T., Hellerstein, J.M., Stoica, I., Ramakrishnan, R.: Declarative Routing: Extensible Routing with Declarative Queries. In: ACM SIGCOMM (2005)
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)
Owre, S., Shankar, N.: Writing PVS proof strategies. In: STRATA 2003 (2003)
Peterson, L., Davie, B.: Computer Networks: A Systems Approach, 4th edn. Morgan Kaufmann, San Francisco (2007)
Peterson, L., Shenker, S., Turner, J.: Overcoming the Internet Impasse Through Virtualization. In: HotNets-III (2004)
Ramakrishnan, R., Ullman, J.D.: A Survey of Research on Deductive Database Systems. Journal of Logic Programming 23(2), 125–149 (1993)
Raman, S., McCanne, S.: A model, analysis, and protocol framework for soft state-based communication. In: SIGCOMM, pp. 15–25 (1999)
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)
Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2), 91–110 (2002)
Rushby, J.: Specification, proof checking, and model checking for protocols and distributed systems with PVS. In: Tutorial FORTE X/PSTV XVII 1997 (1997)
Abiteboul, S., et al.: Foundations of Databases. Addison-Wesley, Reading (1995)
Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A Scalable P2P Lookup Service for Internet Applications. In: SIGCOMM (2001)
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)
Yices, http://yices.csl.sri.com
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)