Today, the failure of an \SDN controller application deprives the network of its control functions and renders it effectively inoperable.  
%
Given the increasing importance of networks, in cloud services to enterprise customers and end-users by web services such as online social networks, this unavailability is unacceptable. 

%
%In this paper, we make the fundamental argument that an SDN application can only overcome failures, due to deterministic bugs, when its completeness requirements are relaxed. 
% Asim: at this point, i have no idea what are completeness requirements you are talking about.
In this paper, we make the argument that the SDN controller stack, should be re-designed to support better abstractions and provide greater control over applications for features such as better reliability.
%
%Motivated by this, we advocate a design point that relaxes completeness of network policy for application availability and by extension control plane availability.  
%
We propose a system, \name, that embodies these principles by providing an isolation layer between applications. \name proactively detects events that may trigger application crashes and ignores or corrects the offending events to
ensure SDN applications do not crash. 
%
%\name leverages several unique properties of \SDN controller applications, namely their event-driven nature and their current inability process events in parallel. 
%
We present an initial implementation of \name based on the \floodlight controller and show that \name introduces minimal overheads. 
%
\usecases{
Furthermore, we show that the controller refactoring required to support \name enables a large array of features currently absent.
}