Learning-Guided Fuzzing for Testing Stateful SDN Controllers

📅 2024-11-13
🏛️ ACM Transactions on Software Engineering and Methodology
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
To address the challenge of detecting state-dependent failures in stateful SDN controllers—caused by massive sequences of control messages—this paper proposes SeqFuzzSDN, a learning-guided fuzz testing framework. SeqFuzzSDN uniquely integrates LSTM-based sequence modeling, reinforcement learning for policy optimization, coverage feedback, and symbolic abstraction of failure paths, enabling state-space-aware test sequence generation and interpretable fault pattern induction. Compared against three enhanced state-of-the-art approaches under identical time budgets, SeqFuzzSDN achieves significantly higher diversity in discovered failure-inducing message sequences and yields more sensitive automatically inferred fault-induction models. This advances beyond conventional random or coverage-driven testing, which struggles to expose state-sensitive defects in complex, dynamic controller environments.

Technology Category

Application Category

📝 Abstract
Controllers for software-defined networks (SDNs) are centralised software components that enable advanced network functionalities, such as dynamic traffic engineering and network virtualisation. However, these functionalities increase the complexity of SDN controllers, making thorough testing crucial. SDN controllers are stateful, interacting with multiple network devices through sequences of control messages. Identifying stateful failures in an SDN controller is challenging due to the infinite possible sequences of control messages, which result in an unbounded number of stateful interactions between the controller and network devices. In this article, we propose SeqFuzzSDN, a learning-guided fuzzing method for testing stateful SDN controllers. SeqFuzzSDN aims to (1) efficiently explore the state space of the SDN controller under test, (2) generate effective and diverse tests (i.e., control message sequences) to uncover failures, and (3) infer accurate failure-inducing models that characterise the message sequences leading to failures. In addition, we compare SeqFuzzSDN with three extensions of state-of-the-art (SOTA) methods for fuzzing SDNs. Our findings show that, compared to the extended SOTA methods, SeqFuzzSDN (1) generates more diverse message sequences that lead to failures within the same time budget, and (2) produces more accurate failure-inducing models, significantly outperforming the other extended SOTA methods in terms of sensitivity.
Problem

Research questions and friction points this paper is trying to address.

Testing stateful SDN controllers with infinite message sequences
Exploring state space efficiently to uncover controller failures
Generating diverse tests for accurate failure-inducing models
Innovation

Methods, ideas, or system contributions that make the work stand out.

Learning-guided fuzzing for stateful SDN testing
Efficient state space exploration in SDN controllers
Generating diverse failure-inducing message sequences
🔎 Similar Papers
No similar papers found.
R
Raphaël Ollando
University of Luxembourg, Luxembourg
Seung Yeob Shin
Seung Yeob Shin
University of Luxembourg
software engineering
L
L. Briand
Lero SFI Centre for Software Research, University of Limerick, Ireland and University of Ottawa, Canada