SDNRacer: Concurrency Analysis for Software-Defined Networks

Authors: Ahmed El-Hassany, Jérémie Miserez, Pavol Bielik, Laurent Vanbever, and Martin Vechev
Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation


Concurrency violations are an important source of bugs in Software-Defined Networks (SDN), often leading to policy or invariant violations. Unfortunately, concurrency violations are also notoriously difficult to avoid, detect and debug. This paper presents a novel approach and a tool, SDNRacer, for detecting concurrency violations of SDNs. Our approach is enabled by three key ingredients: (i) a precise happens- before model for SDNs that captures when events can happen concurrently; (ii) a set of sound, domain-specific filters that reduce reported violations by orders of magnitude, and; (iii) a sound and complete dynamic analyzer, based on the above, that can ensure the network is free of harmful errors such as data races and per-packet incoherence. We evaluated SDNRacer on several real-world OpenFlow controllers, running both reactive and proactive applications in large networks. We show that SDNRacer is practically effective: it quickly pinpoints harmful concurrency violations without overwhelming the user with false positives.


Dr. Ahmed El-Hassany
PhD student


	isbn = {978-1-4503-4261-2},
	doi = {10.1145/2908080.2908124},
	year = {2016},
	booktitle = {Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation},
	type = {Conference Paper},
	editor = {Krintz, Chandra and Berger, Emery},
	author = {El-Hassany, Ahmed and Miserez, Jérémie and Bielik, Pavol and Vanbever, Laurent and Vechev, Martin},
	keywords = {Software Defined Networking; OpenFlow; Commutativity Specification; Happens-before; Nondeterminism},
	language = {en},
	address = {New York, NY},
	publisher = {Association for Computing Machinery},
	title = {SDNRacer: Concurrency Analysis for Software-Defined Networks},
	PAGES = {402 - 415},
	Note = {37th ACM SIGPLAN Conference on Programming Language Design and Implementation; Conference Location: Santa Barbara, CA, USA; Conference Date: June 13-17, 2016}

Research Collection: 20.500.11850/196973