论文标题

依赖性数据平面编程

Dependently-Typed Data Plane Programming

论文作者

Eichholz, Matthias, Campbell, Eric Hayden, Krebs, Matthias, Foster, Nate, Mezini, Mira

论文摘要

像P4这样的编程语言启用了在软件中指定网络数据平面的行为。但是,随着网络中越来越强大且复杂的应用程序运行,故障的风险也会增加。因此,人们越来越认识到需要静态验证P4代码正确性的方法和工具,尤其是因为该语言缺乏基本的安全保证。类型系统是一种建立程序属性的轻巧和组成方法,但是可以使用简单类型系统(例如Safep4)证明的属性之间存在显着差距,而使用完整验证工具(例如P4V)可以获得的属性。在本文中,我们通过开发$π$ 4来缩小这一差距,这是基于可决定的改进的相对于P4的相关版本。我们激励$π$ 4的设计,证明其类型系统的健全性,开发基于SMT的实现以及目前的案例研究,以说明其适用于各种数据平面程序。

Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running in the network, the risk of faults also increases. Hence, there is growing recognition of the need for methods and tools to statically verify the correctness of P4 code, especially as the language lacks basic safety guarantees. Type systems are a lightweight and compositional way to establish program properties, but there is a significant gap between the kinds of properties that can be proved using simple type systems (e.g., SafeP4) and those that can be obtained using full-blown verification tools (e.g., p4v). In this paper, we close this gap by developing $Π$4, a dependently-typed version of P4 based on decidable refinements. We motivate the design of $Π$4, prove the soundness of its type system, develop an SMT-based implementation, and present case studies that illustrate its applicability to a variety of data plane programs.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源