可编程开关的可编程性验证
Towards Runtime Verification of Programmable Switches
摘要:
有没有可能在没有人类参与的情况下修补P4程序中的软件错误?我们表明,这是部分可能的,在许多情况下,由于在软件测试和P4程序的结构的进步。我们的见解是,运行时验证可以检测错误,即使是那些在编译时没有检测到的错误,与机器学习指导的模糊。这使得使用像Tarantula这样的软件测试技术能够更加自动化和实时地定位P4程序中的错误。一旦P4程序中的错误被定位,由于P4的可编程特性,错误代码可以被修补。此外,还可以检测到与平台相关的bug。从P4_14到P4_16(最新版本),我们观察到随着可编程块的增加,P4程序的可修补性相应增加。为此,我们设计,开发和评估P6,(a)检测,(b)本地化,(c)补丁错误P4程序与最小的人类互动。P6非侵入性地测试P4开关,即,不需要修改P4程序来检测和定位错误。我们使用P6原型来检测和修补部署在两个不同交换机平台上的8个公开的P4应用程序中的7个现有错误:行为模型(bmv2)和Tofino。我们的评估表明,P6显着优于错误检测基线,同时在P4程序(如switch.p4)中生成更少的数据包和补丁错误,而不会触发任何回归。
英文摘要:
Is it possible to patch software bugs in P4 programs without human involvement? We show that this is partially possible in many cases due to advances in software testing and the structure of P4 programs. Our insight is that runtime verification can detect bugs, even those that are not detected at compile-time, with machine learning-guided fuzzing. This enables a more automated and real-time localization of bugs in P4 programs using software testing techniques like Tarantula. Once the bug in a P4 program is localized, the faulty code can be patched due to the programmable nature of P4. In addition, platform-dependent bugs can be detected. From P4_14 to P4_16 (latest version), our observation is that as the programmable blocks increase, the patchability of P4 programs increases accordingly. To this end, we design, develop, and evaluate P6 that (a) detects, (b) localizes, and (c) patches bugs in P4 programs with minimal human interaction. P6 tests P4 switch non-intrusively, i.e., requires no modification to the P4 program for detecting and localizing bugs. We used a P6 prototype to detect and patch seven existing bugs in eight 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 P4 programs such as switch.p4 without triggering any regressions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。