A

StacKAT: Infinite State Network Verification

Proceedings of the ACM on Programming Languages, vol. 9, pp. 277–300

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.

Authors 7

  1. Cornell University

    Affiliation as printed

    Cornell University, Ithaca, USA

  2. Cornell University

    Affiliation as printed

    Cornell University, Ithaca, USA

  3. Tobias Kappé Aachen

    Leiden University

    Affiliation as printed

    Leiden University, Leiden, Netherlands

  4. Cornell University

    Affiliation as printed

    Cornell University, Ithaca, USA

  5. Cornell University

    Affiliation as printed

    Cornell University, Ithaca, USA

  6. Cornell University

    Affiliation as printed

    Cornell University, Ithaca, USA

  7. Radboud University Nijmegen

    Affiliation as printed

    Radboud University, Nijmegen, Netherlands

Cited by 0 stored of 0

No patents citing this paper on Lens.org (checked 2026-10-11).

References 41