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.
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.
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
eahmed at ethz dot ch
miserezj at student dot ethz dot ch
pavol dot bielik at inf dot ethz dot ch
martin dot vechev at inf dot ethz dot ch
lvanbever at ethz dot ch