Verifying network programs is challenging because of how they divide labor: the control plane computes high level routes through the network and compiles them to device configurations, while the data plane uses these configurations to realize the desired forwarding behavior. In practice, the correctness of the data plane often assumes that the configurations generated by the control plane will satisfy complex specifications. Consequently, validation tools such as program verifiers, runtime monitors, fuzzers, and test-case generators must be aware of these \emph{control interface specifications} (CISes) to avoid raising false alarms.
In this paper, we propose the first algorithm for computing \emph{precise} CISes from data plane programs. Our specifications are designed to be \emph{efficiently monitorable}—concretely, checking that a given configuration satisfies a CIS can be done in polynomial time. Our algorithm, based on modular program instrumentation, quantifier elimination, and a path-based analysis, is more expressive than prior work, and is applicable to practical network programs. We present an implementation and show that CISes computed by our tool are useful for finding real bugs in practical data plane programs.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:20 | Static Analysis and Program Verification 1OOPSLA 2024 at IBR East Chair(s): Di Wang Peking University | ||
10:40 20mTalk | Cocoon: Static Information Flow Control in Rust OOPSLA 2024 Ada Lamba Ohio State University, Max Taylor Ohio State University, Vincent Beardsley Ohio State University, Jacob Bambeck Ohio State University, Michael D. Bond Ohio State University, Zhiqiang Lin The Ohio State University DOI | ||
11:00 20mTalk | Computing Precise Control Interface Specifications OOPSLA 2024 Eric Campbell Cornell University, Hossein Hojjat Tehran Institute for Advanced Studies (TeIAS), Nate Foster Cornell University and Jane Street DOI | ||
11:20 20mTalk | FlowCert: Translation Validation for Asynchronous Dataflow Programs via Dynamic Fractional Permissions OOPSLA 2024 Zhengyao Lin Carnegie Mellon University, Joshua Gancher Northeastern University, Bryan Parno Carnegie Mellon University DOI | ||
11:40 20mTalk | ParDiff: Practical Static Differential Analysis of Network Protocol ParsersOOPSLA 2024 Distinguished Paper Award OOPSLA 2024 Mingwei Zheng Purdue University, Qingkai Shi Nanjing University, Xuwei Liu Purdue University, USA, Xiangzhe Xu Purdue University, Le Yu , Congyu Liu Purdue University, Guannan Wei Inria/ENS; Tufts University, Xiangyu Zhang Purdue University DOI | ||
12:00 20mTalk | Sound and partially-complete static analysis of data-races in GPU programs OOPSLA 2024 Dennis Liew University of Massachusetts Boston, Tiago Cogumbreiro University of Massachusetts Boston, Julien Lange Royal Holloway, University of London DOI |