StacKAT: Infinite State Network Verification

📅 2025-06-10
🏛️ Proceedings of the ACM on Programming Languages
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing network verification languages (e.g., NetKAT) lack expressive power to model cyclic control flow, finite-state variables, nondeterminism, and explicit stack operations (e.g., push/pop), limiting precise verification of packet parsing, source routing, and programmable telemetry. This paper introduces StacKAT—the first network verification language supporting explicit stack manipulation and infinite-state modeling. Our approach integrates stack-machine semantics into a Kleene algebraic framework, enabling faithful representation of protocol-level stateful behaviors. Key contributions include: (1) a novel language design grounded in stack-machine semantics; (2) the first sound and complete axiomatization of stack-augmented Kleene algebra; and (3) a decidable equivalence-checking algorithm based on finite automata, capable of generating counterexamples. StacKAT overcomes fundamental expressiveness barriers of prior languages in modeling infinite-state network behaviors, providing both a rigorous theoretical foundation and practical tool support for end-to-end property verification of complex network protocols.

Technology Category

Application Category

📝 Abstract
We develop StacKAT, a network verification language featuring loops, finite state variables, nondeterminism, and---most importantly---access to a stack with accompanying push and pop operations. By viewing the variables and stack as the (parsed) headers and (to-be-parsed) contents of a network packet, StacKAT can express a wide range of network behaviors including parsing, source routing, and telemetry. These behaviors are difficult or impossible to model using existing languages like NetKAT. We develop a decision procedure for StacKAT program equivalence, based on finite automata. This decision procedure provides the theoretical basis for verifying network-wide properties and is able to provide counterexamples for inequivalent programs. Finally, we provide an axiomatization of StacKAT equivalence and establish its completeness.
Problem

Research questions and friction points this paper is trying to address.

Develops StacKAT for network verification with stack operations
Expresses complex network behaviors unattainable in existing languages
Provides decision procedure for verifying network-wide program equivalence
Innovation

Methods, ideas, or system contributions that make the work stand out.

Network verification language with stack operations
Decision procedure based on finite automata
Axiomatization of program equivalence completeness
🔎 Similar Papers