Write a Blog >>
Wed 20 Jan 2016 10:55 - 11:20 at Grand Bay North - Track 1: Algorithmic Verification Chair(s): Arie Gurfinkel

Network verification involves checking that the dataplane of a network validates formulas expressing network reachability properties such as “Virtual Machines cannot access Protected Servers”. Speedups have been achieved using symbolic execution, incremental verification, and predicate abstraction. However, large operational networks with ~10^5 hosts can still take days to verify as the number of station pairs grows quadratically.

Fortunately, such networks often employ design patterns that impose regularities. For example, modern data center networks often use fat trees containing nearly-identical backup routers interconnected in symmetrical patterns. To exploit these regularities, we introduce network transformations: given a reachability formula φ and a network N , we transform N into (a simpler to verify) network N’ and a corresponding transformed formula φ’ such that (for example) φ is valid in N if and only φ’ is valid in N’.

We introduce two kinds of network transformations: those that exploit network symmetry (say between backup routers) and those that involve what we call network surgery, in which irrelevant or redundant sets of nodes, headers, ports, or rules are “sliced” away. We prove the validity of our network transformations using Van Benthem-Hennessy-Milner style bisimulation, showing that one can associate bisimulations to each transformation connecting networks and formulas with their transforms. To do all this requires a formal theory of networks and their transforms. Our work is a development in an area of current wide interest: applying programming language techniques (in our case bisimulation and modal logic) to problems in switching networks.

We provide experimental evidence that our network transformations can speed up large datacenter network verifications by factors ranging from 10x to 100x.

Wed 20 Jan

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:10
Track 1: Algorithmic VerificationResearch Papers at Grand Bay North
Chair(s): Arie Gurfinkel Carnegie Mellon University
10:30
25m
Talk
Temporal Verification of Higher-order Functional Programs
Research Papers
Akihiro Murase , Tachio Terauchi JAIST, Naoki Kobayashi University of Tokyo, Ryosuke Sato University of Tokyo, Hiroshi Unno University of Tsukuba
10:55
25m
Talk
Scaling Network Verification using Symmetry and Surgery
Research Papers
Gordon Plotkin , Nikolaj Bjørner Microsoft Research, Nuno P. Lopes Microsoft Research, Andrey Rybalchenko Microsoft Research, George Varghese Microsoft Research
Pre-print
11:20
25m
Talk
Model Checking for Symbolic-Heap Separation Logic with Inductive Predicates
Research Papers
11:45
25m
Talk
Reducing Crash Recoverability to Reachability
Research Papers
Eric Koskinen Yale University, Junfeng Yang Columbia University