P4Testgen: An Extensible Test Oracle For P4-16
Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel, Hanneli Tavante, Rob Sherwood, Vladyslav Dubina, Volodymyr Peschanenko, Anirudh Sivaraman, Nate Foster
摘要
We present P4Testgen, a test oracle for the P4 16 language. P4Testgen supports automatic test generation for any P4 target and is designed to be extensible to many P4 targets. It models the complete semantics of the target's packet-processing pipeline including the P4 language, architectures and externs, and target-specific extensions. To handle non-deterministic behaviors and complex externs (e.g., checksums and hash functions), P4Testgen uses taint tracking and concolic execution. It also provides path selection strategies that reduce the number of tests required to achieve full coverage.
We have instantiated P4Testgen for the V1model, eBPF, PNA, and Tofino P4 architectures. Each extension required effort commensurate with the complexity of the target. We validated the tests generated by P4Testgen by running them across the entire P4C test suite as well as the programs supplied with the Tofino P4 Studio. Using the tool, we have also confirmed 25 bugs in mature, production toolchains for BMv2 and Tofino.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Computing Precise Control Interface SpecificationsEric Hayden Campbell, Hossein Hojjat, Nate FosterOOPSLA 2024 · 被引用 1 次
- P4-SpecTec: Integrating a Language Mechanization Framework into the Real-World P4 SpecificationJaehyun Lee, Seokhun Jeong, Sehyuk Ahn, Haechan Kwon 等OOPSLA 2026
它引用的顶会 Paper8
- Evaluating Fuzz TestingGeorge Klees, Andrew Ruef, Benji Cooper, Shiyi Wei 等CCS 2018 · 被引用 753 次
- Gauntlet: Finding Bugs in Compilers for Programmable Packet ProcessingFabian Ruffy, Tao Wang, Anirudh SivaramanOSDI 2020 · 被引用 34 次
- Aquila: a practically usable verification system for production-scale programmable data planesBingchuan Tian, Jiaqi Gao, Mengqi Liu, Ennan Zhai 等SIGCOMM 2021 · 被引用 28 次
- Petr4: formal foundations for p4 data planesRyan Doenges, Mina Tahmasbi Arashloo, Santiago Bautista, Alexander Chang 等POPL 2021 · 被引用 24 次
- Probabilistic profiling of stateful data planes for adversarial testingQiao Kang, Jiarong Xing, Yiming Qiu, Ang ChenASPLOS 2021 · 被引用 21 次
相关 Paper
- When P4 Meets Run-to-completion ArchitectureHao Zheng, Xin Yan, Wenbo Li, Jiaqi Zheng 等NSDI 2025 · 被引用 5 次
- Fix with P6: Verifying Programmable Switches at RuntimeApoorv Shukla, Kevin Nico Hudemann, Zsolt Vági, Lily Hügerich 等INFOCOM 2021 · 被引用 13 次
- HOL4P4: Mechanized Small-Step Semantics for P4Anoud Alshnakat, Didrik Lundberg, Roberto Guanciale, Mads DamOOPSLA 2024 · 被引用 6 次
- Composing Dataplane Programs with μP4Hardik Soni, Myriana Rifai, Praveen Kumar, Ryan Doenges 等SIGCOMM 2020 · 被引用 54 次
- Failing with Purpose: Dangling Coverage-Guided Negative Test Generation from a Mechanized P4 Type SystemJaehyun Lee, Seokhun Jeong, Sukyoung RyuFSE 2026
