The P4 programming language enables modeling the behavior of the network data plane in software. With increasingly powerful and complex applications running in the network, the risk of errors also increases, especially, since P4’s main abstraction for representing packet data lacks basic safety guarantees. This reinforces the need for methods and tools to statically verify the correctness of data plane programs. Existing data plane verification tools employ closed-world monolithic reasoning. However, dataplane progamming languages have begun to specify rich packet-processing functionality by composing simple functions defined in reusable libraries. Verifying such composable functionality requires compositional reasoning tools. Type systems are a lightweight compositional verification technique that features modular reasoning. However, there is a significant gap between guarantees provided by verification tools like p4v and those provided by type checkers based on traditional typing disciplines like SafeP4, which cannot reason about runtime values. In this paper, we close this gap by presenting Pi4, a dependently-typed variant of P4 based on regular types with decidable refinements. We prove soundness for Pi4’s type system and present case studies illustrating Pi4’s ability to check realistic program properties.
Wed 15 JunDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 14:50 | Domain Specific LanguagesSIGPLAN Track at Cockatoo Chair(s): Zachary Tatlock University of Washington | ||
13:30 20mTalk | (POPL 2021) Petr4: Formal Foundations for P4 Data Planes SIGPLAN Track Ryan Doenges Cornell University, Mina Tahmasbi Arashloo Cornell University, Santiago Bautista Univ Rennes, ENS Rennes, Inria, IRISA, Alexander Chang Cornell University, Newton Ni Cornell University, Samwise Parkinson Cornell University, Rudy Peterson Cornell University, Alaia Solko-Breslin Cornell University, Amanda Xu Cornell University, Nate Foster Cornell University | ||
13:50 20mTalk | (PLDI 2020) Predictable Accelerator Design with Time-Sensitive Affine Types SIGPLAN Track Rachit Nigam Cornell University, Sachille Atapattu Cornell University, USA, Samuel Thomas Cornell University, USA, Theodore Bauer AWS Inc, Apurva Koti Cornell University, USA, Zhijing Li Cornell University, USA, Yuwei Ye Cornell University, USA, Adrian Sampson Cornell University, Zhiru Zhang Cornell University, USA | ||
14:10 20mTalk | (POPL 2022) Dependently-Typed Data Plane Programming SIGPLAN Track Matthias Eichholz Technical University of Darmstadt, Eric Campbell Cornell University, Matthias Krebs TU Darmstadt, Nate Foster Cornell University, Mira Mezini TU Darmstadt | ||
14:30 20mTalk | (POPL 2022) Safe, Modular Packet Pipeline Programming SIGPLAN Track |