Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Journal articles
  4. Systematically testing OpenFlow controller applications
 
research article

Systematically testing OpenFlow controller applications

Peresini, Peter  
•
Kuzniar, Maciej
•
Canini, Marco  
Show more
2015
Computer Networks

The emergence of OpenFlow-capable switches enables exciting new network functionality, at the risk of programming errors that make communication less reliable. The centralized programming model, where a single controller program manages the network, seems to reduce the likelihood of bugs. However, the system is inherently distributed and asynchronous, with events happening at different switches and end hosts, and inevitable delays affecting communication with the controller. In this paper, we present efficient, systematic techniques for testing unmodified controller programs. Our NICE tool applies model checking to explore the state space of the entire system the controller, the switches, and the hosts. Scalability is the main challenge, given the diversity of data packets, the large system state, and the many possible event orderings. To addressthis, we propose a novel way to augment model checking with symbolic execution of event handlers (to identify representative packets that exercise code paths on the controller). We also present a simplified OpenFlow switch model (to reduce the state space), and effective strategies for generating event interleavings likely to uncover bugs. Our prototype tests Python applications on the popular NOX platform. In testing three real applications-a MAC-learning switch, in-network server load balancing, and energy-efficient traffic engineering-we uncover 13 bugs. (C) 2015 Elsevier B.V. All rights reserved.

  • Details
  • Metrics
Type
research article
DOI
10.1016/j.comnet.2015.03.019
Web of Science ID

WOS:000366785500007

Author(s)
Peresini, Peter  
Kuzniar, Maciej
Canini, Marco  
Venzano, Daniele  
Kostic, Dejan  
Rexford, Jennifer
Date Issued

2015

Publisher

Elsevier Science Bv

Published in
Computer Networks
Volume

92

Start page

270

End page

286

Subjects

Software-defined networking

•

Open Flow

•

Reliability

•

Model checking

•

Symbolic execution

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
NSL  
LABOS  
Available on Infoscience
February 16, 2016
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/123912
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés