paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Weighted NetKAT: A Programming Language for Quantitative Network Verification

加权 NetKAT:一种面向定量网络验证的编程语言
PLDI 10(PLDI)2026匹配度 3/10 · 该论文属于程序语言与形式验证方向,提出加权 NetKAT 及加权自动机用于网络定量验证,兼具理论语义与案例实现;但它并不涉及用户核心关注的 LLM/Agent 与静态分析/形式验证交叉、ML 系统或 Agentic 程序分析、浮点程序分析或贝叶斯程序分析。引用 1 inbox
Emmanuel Suárez Acevedo, Tiago Ferreira, Kevin Batz, Oliver Bøving, Nate Foster, Alexandra Silva
crossref: 2026-09-10

AI 速览

一句话:提出参数化于半环的加权 NetKAT 语言,并借助加权自动机实现对定量网络性质的自动判定。

网络验证常需处理带宽、延迟、概率等定量性质,而既有 NetKAT 类语言主要支持布尔式的可达性与安全性推理。本文提出加权 NetKAT,一个以半环为参数的领域特定语言,可在统一框架下刻画多种定量语义。作者给出其指称语义以及与之等价的操作语义,后者基于新提出的加权 NetKAT 自动机(WNKA),用于捕获语言的有状态行为。借助 WNKA,作者得到一族通用判定过程,即使存在可能无界的迭代,也能全自动地推理定量安全性与可达性。最后以 Internet2 的 Abilene 网络为底层拓扑开展案例研究,说明该框架的可用性。

问题
现有网络验证语言(如 NetKAT)主要面向布尔性质,难以在同一框架内统一表达并自动验证带宽、延迟、概率等定量网络属性。
方法
提出以半环为参数的加权 NetKAT 语言,给出指称语义与等价的操作语义,后者建立在新定义的加权 NetKAT 自动机(WNKA)之上,用以刻画有状态行为。
评估
基于 WNKA 导出通用判定过程,在允许无界迭代的前提下自动推理定量安全性与可达性,并以 Internet2 的 Abilene 网络为拓扑进行案例研究。
原文摘要(Abstract)

We introduce weighted NetKAT, a domain-specific language for modeling and verifying quantitative network properties. The language is parametric on a semiring, enabling the treatment of a wide range of quantities in a uniform way. We provide a denotational semantics and an equivalent operational semantics, the latter based on a novel model of weighted NetKAT automata (WNKA) capturing the stateful behavior of our language. With WNKA, we obtain a class of generic decision procedures for reasoning about quantitative safety and reachability in a fully automatic way, even in the presence of possibly unbounded iteration. We demonstrate the applicability of our framework in a case study using Internet2's Abilene network as the underlying topology.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3760,
  title = {Weighted NetKAT: A Programming Language for Quantitative Network Verification},
  author = {Emmanuel Suárez Acevedo and Tiago Ferreira and Kevin Batz and Oliver Bøving and Nate Foster and Alexandra Silva},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808318}
}