SDNRacer: Concurrency Analysis for Software-Defined Networks

SDNRacer is the first comprehensive dynamic and controller-agnostic concurrency analyzer for production-grade SDN controllers. SDNRacer checks for a variety of errors including (high-level) data races, packet coherence violations, and update isolation violations.

SDNRacer precisely captures the asynchrony of SDN environments thanks to the first formulation of a happens-before (HB) model for the most commonly used OpenFlow features.

Read the papers Read the documentation Get the code

SDN Controllers are hard to build and to troubleshoot.

In only few years, Software-Defined Networking (SDN) has managed to impose itself as the new way to design and operate computer networks. While the premises of SDN are simple, realizing this vision relies on the ability of developers to build highly sophisticated and reliable SDN control software operating on top of a network: a highly asynchronous and distributed environment. Building such highly asynchronous programs is known to be a very difficult problem due to inadvertently introducing harmful errors. In particular, concurrency violations are an important source of bugs in SDNs, often leading to policy or invariant violations such as blackholes, forwarding loops or non-deterministic forwarding.

BigBug: Practical Concurrency Analysis for SDN , SOSR'17, Santa Clara, CA, USA April 2017. (slides, bibtex)

by Roman May, Ahmed El-Hassany, Laurent Vanbever, and Martin Vechev

SDNRacer: Concurrency Analysis for Software-Defined Networks, PLDI'16, Santa Barbara, CA, USA June 2016. (slides, bibtex)

by Ahmed El-Hassany, Jeremie Miserez, Pavol Bielik, Laurent Vanbever, and Martin Vechev

SDNRacer: Detecting Concurrency Violations in Software-Defined Networks, SOSR'15, Santa Clara, CA, USA June 2015. (bibtex)

by Jeremie Miserez, Pavol Bielik, Ahmed El-Hassany, Martin Vechev, and Laurent Vanbever