skip to main content
10.1145/3672199.3673886acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

A Hybrid Testing System on P4 Cloud Gateway

Published: 04 August 2024 Publication History

Abstract

P4 gateway is the hub of cloud network, and with the growth of cloud traffic scale, the reliability of a cloud gateway must be guaranteed by testing. The existing cloud gateway testing solutions, such as symbolic execution and fuzzing, perform either insufficient scalability or poor coverage, leading to difficulties when deploying in production. To balance scalability and coverage, we present a hybrid testing system for P4 gateway that uses path probability as a tradeoff metric to combine fuzzing and symbolic execution. In addition, we applied a graph centrality strategy and intermediate result reuse operations to improve efficiency, and implemented a lightweight instrumentation tool for measuring coverage. We conducted evaluations on both open-source and production-scale P4 programs. The evaluations indicate that the prototype system achieved 100% coverage on most programs with high efficiency. At present, the system is still undergoing continuous testing and optimization in production.

References

[1]
2024. Symbolic Fuzzing. (2024). https://www.fuzzingbook.org/html/SymbolicFuzzer.html#Symbolic-Fuzzing
[2]
Dragos Dumitrescu, Radu Stoenescu, Lorina Negreanu, and Costin Raiciu. 2020. bf4: towards bug-free P4 programs. In ACM SIGCOMM.
[3]
Heqing Huang, Peisen Yao, Rongxin Wu, Qingkai Shi, and Charles Zhang. 2020. Pangolin: Incremental Hybrid Fuzzing with Polyhedral Path Abstraction. In IEEE SP.
[4]
Jed Liu, William Hallahan, Cole Schlesinger, Milad Sharif, Jeongkeun Lee, Robert Soulé, Han Wang, Călin Caşcaval, Nick McKeown, and Nate Foster. 2018. p4v: practical verification for programmable data planes. In ACM SIGCOMM.
[5]
Rupak Majumdar and Koushik Sen. 2007. Hybrid Concolic Testing. In IEEE ICSE. 416--426.
[6]
Andres Nötzli, Jehandad Khan, Andy Fingerhut, Clark Barrett, and Peter Athanas. 2018. p4pktgen: Automated Test Case Generation for P4 Programs. In ACM SOSR.
[7]
Brian Pak. 2012. Hybrid Fuzz Testing: Discovering Software Bugs via Fuzzing and Symbolic Execution. https://api.semanticscholar.org/CorpusID:18723765
[8]
Tian Pan, Nianbing Yu, Chenhao Jia, Jianwen Pi, Liang Xu, Yisong Qiao, Zhiguo Li, Kun Liu, Jie Lu, Jianyuan Lu, Enge Song, Jiao Zhang, Tao Huang, and Shunmin Zhu. 2021. Sailfish: accelerating cloud-scale multi-tenant multi-service gateways with programmable switches. In ACM SIGCOMM.
[9]
Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel, Hanneli Tavante, Rob Sherwood, Vladyslav Dubina, Volodymyr Peschanenko, Anirudh Sivaraman, and Nate Foster. 2023. P4Testgen: An Extensible Test Oracle For P4-16. In ACM SIGCOMM.
[10]
Fabian Ruffy, Tao Wang, and Anirudh Sivaraman. 2020. Gauntlet: finding bugs in compilers for programmable packet processing. In USENIX OSDI.
[11]
Apoorv Shukla, Kevin Hudemann, Zsolt Vági, Lily Hügerich, Georgios Smaragdakis, Artur Hecker, Stefan Schmid, and Anja Feldmann. 2021. Fix with P6: Verifying Programmable Switches at Runtime. In IEEE INFOCOM.
[12]
Nick Stephens, John Grosen, Christopher Salls, Andrew Dutcher, Ruoyu Wang, Jacopo Corbetta, Yan Shoshitaishvili, Christopher Kruegel, and Giovanni Vigna. 2016. Driller: Augmenting Fuzzing Through Selective Symbolic Execution. In NDSS.
[13]
Colin Unger, Zhihao Jia, Wei Wu, Sina Lin, Mandeep Baines, Carlos Efrain Quintero Narvaez, Vinay Ramakrishnaiah, Nirmal Prajapati, Pat McCormick, Jamaludin Mohd-Yusof, Xi Luo, Dheevatsa Mudigere, Jongsoo Park, Misha Smelyanskiy, and Alex Aiken. 2022. Unity: Accelerating DNN Training Through Joint Optimization of Algebraic Transformations and Parallelization. In USENIX OSDI.
[14]
Nofel Yaseen, Liangcheng Yu, Caleb Stanford, Ryan Beckett, and Vincent Liu. 2022. FP4: Line-rate Greybox Fuzz Testing for P4 Switches. (2022). arXiv:cs.NI/2207.13147
[15]
Naiqian Zheng, Mengqi Liu, Ennan Zhai, Hongqiang Harry Liu, Yifan Li, Kaicheng Yang, Xuanzhe Liu, and Xin Jin. 2022. Meissa: scalable network testing for programmable data planes. In ACM SIGCOMM.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FMANO '24: Proceedings of the 2024 SIGCOMM Workshop on Formal Methods Aided Network Operation
August 2024
62 pages
ISBN:9798400707148
DOI:10.1145/3672199
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 August 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Fuzzing
  2. Hybrid Testing
  3. P4 Testing
  4. Symbolic Execution

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • National Natural Science Foundation of China
  • Key R&D Program of Zhejiang Province, China

Conference

ACM SIGCOMM '24
Sponsor:
ACM SIGCOMM '24: ACM SIGCOMM 2024 Conference
August 4 - 8, 2024
NSW, Sydney, Australia

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 116
    Total Downloads
  • Downloads (Last 12 months)116
  • Downloads (Last 6 weeks)9
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media