How Did We Get Into This Mess? Isolating Fault-Inducing Inputs to SDN Control Software

Colin Scott, Andreas Wundsam, Sam Whitlock, Andrew Or, Eugene Huang, Kyriakos Zarifis and Scott Shenker

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2013-8
February 10, 2013

http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-8.pdf

Software bugs are inevitable in software-defined networking (SDN) control planes, and troubleshooting is a tedious, time-consuming task. In this paper we discuss how one might improve SDN network troubleshooting by presenting a technique, retrospective causal inference, for automatically identifying a minimal sequence of inputs responsible for triggering a given bug in the control software. Retrospective causal inference works by iteratively pruning inputs from the history of the execution, and coping with divergent histories by reasoning about the functional equivalence of events.

We apply retrospective causal inference to three open source SDN control platforms---Floodlight, POX, and NOX---and illustrate how our technique found minimal causal sequences for the bugs we encountered.


BibTeX citation:

@techreport{Scott:EECS-2013-8,
    Author = {Scott, Colin and Wundsam, Andreas and Whitlock, Sam and Or, Andrew and Huang, Eugene and Zarifis, Kyriakos and Shenker, Scott},
    Title = {How Did We Get Into This Mess? Isolating Fault-Inducing Inputs to SDN Control Software},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2013},
    Month = {Feb},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-8.html},
    Number = {UCB/EECS-2013-8},
    Abstract = {Software bugs are inevitable in software-defined networking (SDN) control planes,
and troubleshooting
is a tedious, time-consuming task.
In this paper we discuss how one might improve SDN
network troubleshooting by presenting a technique, retrospective causal inference,
for automatically identifying
a minimal sequence of inputs responsible for triggering a given bug in the
control software. Retrospective causal inference works by
iteratively pruning inputs from the history of the execution, and
coping with divergent histories by reasoning about the functional equivalence
of events.

We apply retrospective causal inference to three open source SDN control
platforms---Floodlight, POX, and NOX---and
illustrate how our technique found minimal causal sequences for
the bugs we encountered.}
}

EndNote citation:

%0 Report
%A Scott, Colin
%A Wundsam, Andreas
%A Whitlock, Sam
%A Or, Andrew
%A Huang, Eugene
%A Zarifis, Kyriakos
%A Shenker, Scott
%T How Did We Get Into This Mess? Isolating Fault-Inducing Inputs to SDN Control Software
%I EECS Department, University of California, Berkeley
%D 2013
%8 February 10
%@ UCB/EECS-2013-8
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-8.html
%F Scott:EECS-2013-8