Efficient Synthesis of Network Updates
PLDI 2015: ACM SIGPLAN Conference on Programming Language Design and Implementation


Software-defined networking (SDN) is revolutionizing the networking industry, but current SDN programming platforms do not provide automated mechanisms for updating global configurations on the fly. Implementing updates by hand is challenging for SDN programmers because networks are distributed systems with hundreds or thousands of interacting nodes. Even if initial and final configurations are correct, naively updating individual nodes can lead to incorrect transient behaviors, including loops, black holes, and access control violations. This paper presents an approach for automatically synthesizing updates that are guaranteed to preserve specified properties. We formalize network updates as a distributed programming problem and develop a synthesis algorithm based on counterexample-guided search and incremental model checking. We describe a prototype implementation, and present results from experiments on real-world topologies and properties demonstrating that our tool scales to updates involving over one-thousand nodes.


@string{PLDI = "ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)"}
  author = {Jedidiah McClurg and Hossein Hojjat and Pavol Černý and Nate Foster},
  title = {Efficient Synthesis of Network Updates},
  booktitle = PLDI,
  year = {2015},