MSAID: Automated detection of interference in multiple SDN applications
Abstract Software-defined networking (SDN) enables control programs from diverse parties to generate network policies independently. However, multiple SDN applications can cause several unintentionally harmful interferences even though each individual application is properly developed. Unfortunately, the existing SDN network verification and testing frameworks do not take interferences between applications into account. This paper proposes a multiple SDN applications interference detector (MSAID). To bridge the gap between the applications’ source code and the actual negative interferences, we leverage symbolic execution and constraint solving to evaluate how the event handler of the applications handles the input messages. Then, we analyze the complex interaction behavior of multiple applications, and we develop novel algorithms to identify the interferences of multiple applications. In addition, these algorithms help determine the traffic affected by the interferences, which can help users avoid unwanted behavior. We evaluate the correctness and performance of the detector, and we demonstrate its usefulness with a variety of SDN applications. Our evaluation shows that MSAID can detect both new and known interferences in a few minutes for popular SDN applications.