Princeton University
Computer Science Department

CS 598D

Formal Methods in Networking

Lead Instructor: Dr. Sanjai Narain

Telcordia Technologies
narain@research.telcordia.com

Mondays and Fridays

9:30-10:50am, Room 302

Spring 2010

Modern formal methods are mature enough for solving industrial-strength problems. This semester-long seminar course will explore these methods in the context of networking. The methods and related systems will include Binary Decision Diagrams and SAT and SMT solvers for Boolean logic, Prolog and Datalog for definite-clause subset of first-order logic, Alloy for first-order logic, Promela for concurrent programs and Isabelle for higher-order logic. Instructors will provide an overview of these methods and of their application to networking problems such as configuration synthesis and debugging, vulnerability analysis and mitigation, security policy and protocol verification, and routing protocol design. Instructors will also outline open problems. Students will be expected to select one or more of these methods, understand these in-depth by reading papers and using implementations of these methods to solve problems of interest to them, and present their findings to the class. A list of papers covering the theory, implementation and application of these methods will be provided.

The course will be coordinated by Dr. Sanjai Narain from Telcordia Technologies. He will also teach Prolog, and applications of Alloy and SAT/SMT solvers to configuration synthesis and debugging and security policy verification. Lectures on other topics will be given by:


Schedule


M & F In Week of

Instructor

Topic

02/01/10

Narain

Introduction and logic programming theory

02/08/10

Narain

Constraint Solving For Networking, Part I and Part II

02/15/10

Narain

Application of SAT/SMT solvers to theory of configuration and application of Alloy to same

02/22/10

Loo

Datalog and  its application to routing protocol design

03/01/10

Malik & Wang

SAT and SMT solvers

03/08/10

Ou

Datalog+MinCost SAT solvers for network vulnerability analysis and mitigation. Part I, Part II.

3/15/10 NO CLASS

03/22/10

Zave

Promela and application to protocol verification. Part I, Part II

03/29/10

Zave

Alloy and application to protocol verification, Part I, Part II

04/05/10

Al-Shaer

Binary decision diagrams and their application to security policy verification

04/12/10

Voellmy/Narain

Isabelle and BGP verification. Review of papers

04/19/10

Narain

Arye/Harrison/Wang

Reconfiguration Planning

Review of BGP Stable Path Problem

04/26/10


Student paper presentations. Student paper review reports due 4/30

05/03/10


Student paper presentations

05/10/10


Student project presentation “The Next 10,000 BGP Gadgets. Lightweight Modeling For Stable Paths Problem” by Matve Arye, Rob Harrison, Richard Wang.

A complementary encoding of Stable Path Problem in Alloy



Reading List


SAT Solvers

Alloy and its application to configuration management

Application of SAT to configuration management

Logic programming and Prolog

Network Configuration Validation

Datalog + MinCostSAT for network vulnerability analysis and mitigation

Binary Decision Diagrams and their application to security policy verification

Alloy and Promela for protocol verification

Isabelle/HOL for protocol verification 

Datalog and its application to routing protocol design

Must read papers:

Optional reading: