Fix with P6: Verifying Programmable Switches at Runtime
Apoorv Shukla, Kevin Nico Hudemann, Zsolt Vági, Lily Hügerich, Georgios Smaragdakis, Artur Hecker, Stefan Schmid, Anja Feldmann
Abstract
We design, develop, and evaluate P6, an automated approach to (a) detect, (b) localize, and (c) patch software bugs in P4 programs. Bugs are reported via a violation of pre-specified expected behavior that is captured by P6. P6 is based on machine learning-guided fuzzing that tests P4 switch non-intrusively, i.e., without modifying the P4 program for detecting runtime bugs. This enables an automated and real-time localization and patching of bugs. We used a P6 prototype to detect and patch existing bugs in various publicly available P4 application programs deployed on two different switch platforms: behavioral model (bmv2) and Tofino. Our evaluation shows that P6 significantly outperforms bug detection baselines while generating fewer packets and patches bugs in large P4 programs such as switch.p4 without triggering any regressions.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 1ca5652b-03d4-484a-9fc9-88d98d2cf836Cited by top-tier papers2
- P4Testgen: An Extensible Test Oracle For P4-16Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel et al.SIGCOMM 2023 · 20 citations
- Firebolt: Finding Bugs in Programmable Data Plane GeneratorsJiamin Cao, Yu Zhou, Chen Sun, Lin He et al.USENIX ATC 2022
Builds on2
Related papers
- Gauntlet: Finding Bugs in Compilers for Programmable Packet ProcessingFabian Ruffy, Tao Wang, Anirudh SivaramanOSDI 2020 · 34 citations
- Flowrest: Practical Flow-Level Inference in Programmable Switches with Random ForestsAristide Tanyi-Jong Akem, Michele Gucciardo, Marco FioreINFOCOM 2023 · 63 citations
- Jewel: Resource-Efficient Joint Packet and Flow Level Inference in Programmable SwitchesAristide Tanyi-Jong Akem, Beyza Bütün, Michele Gucciardo, Marco FioreINFOCOM 2024 · 27 citations
- bf4: towards bug-free P4 programsDragos Dumitrescu, Radu Stoenescu, Lorina Negreanu, Costin RaiciuSIGCOMM 2020 · 38 citations
- P4runpro: Enabling Runtime Programmability for RMT Programmable SwitchesYifan Yang, Lin He, Jiasheng Zhou, Xiaoyi Shi et al.SIGCOMM 2024 · 12 citations
