Automated Software Engineering
Dynamic partial-order reduction for model checking software
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Model checking large network protocol implementations
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
OpenFlow: enabling innovation in campus networks
ACM SIGCOMM Computer Communication Review
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
NOX: towards an operating system for networks
ACM SIGCOMM Computer Communication Review
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
MODIST: transparent model checking of unmodified distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Resonance: dynamic access control for enterprise networks
Proceedings of the 1st ACM workshop on Research on enterprise networking
Rethinking enterprise network control
IEEE/ACM Transactions on Networking (TON)
Generalized symbolic execution for model checking and testing
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
A decision procedure for bit-vectors and arrays
CAV'07 Proceedings of the 19th international conference on Computer aided verification
KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
ElasticTree: saving energy in data center networks
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
FlowChecker: configuration analysis and verification of federated openflow infrastructures
Proceedings of the 3rd ACM workshop on Assurable and usable security configuration
Parallel symbolic execution for automated real-world software testing
Proceedings of the sixth conference on Computer systems
OpenFlow-based server load balancing gone wild
Hot-ICE'11 Proceedings of the 11th USENIX conference on Hot topics in management of internet, cloud, and enterprise networks and services
Life, death, and the critical transition: finding liveness bugs in systems code
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
OFRewind: enabling record and replay troubleshooting for networks
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Finding protocol manipulation attacks
Proceedings of the ACM SIGCOMM 2011 conference
Debugging the data plane with anteater
Proceedings of the ACM SIGCOMM 2011 conference
Frenetic: a network programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Identifying and using energy-critical paths
Proceedings of the Seventh COnference on emerging Networking EXperiments and Technologies
Is your OpenFlow application correct?
Proceedings of The ACM CoNEXT Student Workshop
Abstractions for network update
Proceedings of the ACM SIGCOMM 2012 conference on Applications, technologies, architectures, and protocols for computer communication
VeriFlow: verifying network-wide invariants in real time
Proceedings of the first workshop on Hot topics in software defined networks
Where is the debugger for my software-defined network?
Proceedings of the first workshop on Hot topics in software defined networks
Fabric: a retrospective on evolving SDN
Proceedings of the first workshop on Hot topics in software defined networks
A security enforcement kernel for OpenFlow networks
Proceedings of the first workshop on Hot topics in software defined networks
Abstractions for network update
ACM SIGCOMM Computer Communication Review - Special october issue SIGCOMM '12
Veriflow: verifying network-wide invariants in real time
ACM SIGCOMM Computer Communication Review - Special october issue SIGCOMM '12
Attendre: mitigating ill effects of race conditions in openflow via queueing mechanism
Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems
Automatic test packet generation
Proceedings of the 8th international conference on Emerging networking experiments and technologies
A SOFT way for openflow switch interoperability testing
Proceedings of the 8th international conference on Emerging networking experiments and technologies
Verifiably-safe software-defined networks for CPS
Proceedings of the 2nd ACM international conference on High confidence networked systems
Machine-verified network controllers
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
VeriFlow: verifying network-wide invariants in real time
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Real time network policy checking using header space analysis
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
High-fidelity switch models for software-defined network emulation
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Leveraging SDN layering to systematically troubleshoot networks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
A balance of power: expressive, analyzable controller programming
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Fast, accurate simulation for SDN prototyping
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
OF.CPP: consistent packet processing for openflow
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Towards a secure controller platform for openflow applications
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Automatic failure recovery for software-defined networks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM
Robust assessment of changes in cellular networks
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
Toward a verifiable software dataplane
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Answering why-not queries in software-defined networks with negative provenance
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Prototyping symbolic execution engines for interpreted languages
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Unifying Cloud and Carrier Network: EU FP7 Project UNIFY
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
I know what your packet did last hop: using packet histories to troubleshoot networks
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Libra: divide and conquer to verify forwarding tables in huge networks
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Software dataplane verification
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Tierless programming and reasoning for software-defined networks
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
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 address this, 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 eleven bugs.