Firebolt: Finding Bugs in Programmable Data Plane Generators

被引:0
|
作者
Cao, Jiamin [1 ]
Zhou, Yu [2 ]
Sun, Chen [2 ]
He, Lin [1 ]
Xi, Zhaowei [1 ]
Liu, Ying [1 ]
机构
[1] Tsinghua Univ, Beijing, Peoples R China
[2] Alibaba Grp, Hangzhou, Peoples R China
基金
国家重点研发计划; 中国国家自然科学基金; 北京市自然科学基金;
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programmable data planes (DP) enable flexible customization of packet processing logic with domain-specific languages such as P4. To relieve developers from lengthy codes and tedious hardware details, many researches propose DP program generators that take high-level intents as input and automatically convert intents into DP programs. Generators must be correct, otherwise they may produce buggy programs or DP logic that is inconsistent with intents. Nevertheless, existing verification tools are designed to verify individual DP programs, not generators. They either cannot achieve high bug coverage or cannot debug generators with high scalability. This paper presents Firebolt, a blackbox testing tool designed to dig out faults in DP program generators, including security vulnerabilities, intent violations, and generator crash. Firebolt achieves high bug coverage by using syntax-guided intent generation to construct a comprehensive, syntactically correct, and semantically valid intent set. To avoid intent explosion, Firebolt designs an intent space pruning approach that eliminates redundant intents while preserving representative ones. For high scalability, Firebolt automatically formalizes DP programs and intents for verification. We apply Firebolt to three popular open-source DP generators. Evaluation results demonstrate that Firebolt can detect 2x bugs with 0.1% to 0.01% human efforts compared to existing tools.
引用
收藏
页码:819 / 834
页数:16
相关论文
共 50 条
  • [21] Virtualization in Programmable Data Plane: A Survey and Open Challenges
    Han, Sol
    Jang, Seokwon
    Choi, Hongrok
    Lee, Hochan
    Pack, Sangheon
    IEEE OPEN JOURNAL OF THE COMMUNICATIONS SOCIETY, 2020, 1 : 527 - 534
  • [22] Building a Fast, Virtualized Data Plane with Programmable Hardware
    Anwer, Muhammad Bilal
    Feamster, Nick
    VISA 09, 2009, : 1 - 8
  • [23] Offloading Media Traffic to Programmable Data Plane Switches
    Kfoury, Elie F.
    Crichigno, Jorge
    Bou-Harb, Elias
    ICC 2020 - 2020 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), 2020,
  • [24] The Programmable Data Plane: Abstractions, Architectures, Algorithms, and Applications
    Michel, Oliver
    Bifulco, Roberto
    Retvari, Gabor
    Schmid, Stefan
    ACM COMPUTING SURVEYS, 2021, 54 (04)
  • [25] Network Telemetry by Observing and Recording on Programmable Data Plane
    Lin, Wen-Hong
    Liu, Wai-Xi
    Chen, Gui-Feng
    Wu, Song
    Fu, Jin-Jiang
    Liang, Xing
    Ling, Sen
    Chen, Zhi-Tao
    2021 IFIP NETWORKING CONFERENCE AND WORKSHOPS (IFIP NETWORKING), 2021,
  • [26] Design and Implementation of Programmable Data Plane Supporting Multiple Data Types
    Jing, Linan
    Chen, Xiao
    Wang, Jinlin
    ELECTRONICS, 2021, 10 (21)
  • [27] Data-driven Routing Optimization based on Programmable Data Plane
    Li, Qian
    Zhang, Jiao
    Pan, Tian
    Huang, Tao
    Liu, Yunjie
    2020 29TH INTERNATIONAL CONFERENCE ON COMPUTER COMMUNICATIONS AND NETWORKS (ICCCN 2020), 2020,
  • [28] Finding Semantic Bugs Fast
    Graetz, Lukas
    Haehnle, Reiner
    Bubel, Richard
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 145 - 154
  • [29] Finding typing compiler bugs
    Chaliasos, Stefanos
    Sotiropoulos, Thodoris
    Spinellis, Diomidis
    Gervais, Arthur
    Livshits, Benjamin
    Mitropoulos, Dimitris
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2022, : 183 - 198
  • [30] Finding Typing Compiler Bugs
    Chaliasos, Stefanos
    Sotiropoulos, Thodoris
    Spinellis, Diomidis
    Gervais, Arthur
    Livshits, Benjamin
    Mitropoulos, Dimitris
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 183 - 198