Runtime Verification for Programmable Switches

被引:1
|
作者
Shukla, Apoorv [1 ]
Huedemann, Kevin [2 ]
Vagi, Zsolt [3 ]
Huegerich, Lily [4 ]
Smaragdakis, Georgios [5 ]
Hecker, Artur [1 ]
Schmid, Stefan [4 ,6 ]
Feldmann, Anja [7 ]
机构
[1] Huawei Munich Res Ctr, D-80992 Munich, Germany
[2] SAP, D-69190 Walldorf, Germany
[3] Swisscom AG, CH-3048 Bern, Switzerland
[4] Tech Univ Berlin TU Berlin, D-10623 Berlin, Germany
[5] Delft Univ Technol TU Delft, NL-2600 CD Delft, Netherlands
[6] Fraunhofer Inst Secure Informat Technol Fraunhofe, D-64295 Darmstadt, Germany
[7] Max Planck Inst Informat, D-66123 Saarbrucken, Germany
基金
欧洲研究理事会; 奥地利科学基金会;
关键词
Computer bugs; Behavioral sciences; Runtime; Software; Fuzzing; Pipelines; Static analysis; Programmable networks; P4; verification;
D O I
10.1109/TNET.2023.3234931
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We introduce a runtime verification framework for programmable switches that complements static analysis. To evaluate our approach, we design and develop, a runtime verification system that automatically detects, localizes, and patches software bugs in P4 programs. Bugs are reported via a violation of pre-specified expected behavior that is captured by . 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 prototype to detect and patch existing bugs in various publicly available P4 application programs deployed on two different switch platforms, namely, behavioral model (bmv2) and Tofino. Our evaluation shows that significantly outperforms bug detection baselines while generating fewer packets and patches bugs in large P4 programs, e.g., switch.p4 without triggering any regressions.
引用
收藏
页码:1822 / 1837
页数:16
相关论文
共 50 条
  • [21] ROSRV: Runtime Verification for Robots
    Huang, Jeff
    Erdogan, Cansu
    Zhang, Yi
    Moore, Brandon
    Luo, Qingzhou
    Sundaresan, Aravind
    Rosu, Grigore
    RUNTIME VERIFICATION, RV 2014, 2014, 8734 : 247 - 254
  • [22] ROSRV: Runtime verification for robots
    Huang, Jeff
    Erdogan, Cansu
    Zhang, Y.
    Moore, Brandon
    Luo, Qingzhou
    Sundaresan, Aravind
    Rosu, Grigore
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8734 : 247 - 254
  • [23] Fast ReRoute on Programmable Switches
    Chiesa, Marco
    Sedar, Roshan
    Antichi, Gianni
    Borokhovich, Michael
    Kamisinski, Andrzej
    Nikolaidis, Georgios
    Schmid, Stefan
    IEEE-ACM TRANSACTIONS ON NETWORKING, 2021, 29 (02) : 637 - 650
  • [24] Mantis: Reactive Programmable Switches
    Yu, Liangcheng
    Sonchack, John
    Liu, Vincent
    SIGCOMM '20: PROCEEDINGS OF THE 2020 ANNUAL CONFERENCE OF THE ACM SPECIAL INTEREST GROUP ON DATA COMMUNICATION ON THE APPLICATIONS, TECHNOLOGIES, ARCHITECTURES, AND PROTOCOLS FOR COMPUTER COMMUNICATION, 2020, : 296 - 309
  • [25] Programmable conductance switches for FPAAs
    Twigg, Christopher M.
    Hasler, Paul E.
    2007 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOLS 1-11, 2007, : 173 - 176
  • [26] Runtime Verification with Particle Filtering
    Kalajdzic, Kenan
    Bartocci, Ezio
    Smolka, Scott A.
    Stoller, Scott D.
    Grosu, Radu
    RUNTIME VERIFICATION, RV 2013, 2013, 8174 : 149 - 166
  • [27] Neural Networks for Runtime Verification
    Perotti, Alan
    Garcez, Artur d'Avila
    Boella, Guido
    PROCEEDINGS OF THE 2014 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), 2014, : 2637 - 2644
  • [28] Runtime Verification with the RV System
    Meredith, Patrick
    Rosu, Grigore
    RUNTIME VERIFICATION, 2010, 6418 : 136 - 152
  • [29] TeSSLa - An Ecosystem for Runtime Verification
    Kallwies, Hannes
    Leucker, Martin
    Schmitz, Malte
    Schulz, Albert
    Thoma, Daniel
    Weiss, Alexander
    RUNTIME VERIFICATION (RV 2022), 2022, 13498 : 314 - 324
  • [30] On Benchmarking for Concurrent Runtime Verification
    Aceto, Luca
    Attard, Duncan Paul
    Francalanza, Adrian
    Ingolfsdottir, Anna
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2021), 2021, 12649 : 3 - 23