Relational Network Verification
<|reference_start|>Relational Network Verification: Relational network verification is a new approach to validating network changes. In contrast to traditional network verification, which analyzes specifications for a single network snapshot, relational network verification analyzes specifications concerning two network snapshots (e.g., pre- and post-change snapshots) and captures their similarities and differences. Relational change specifications are compact and precise because they specify the flows or paths that change between snapshots and then simply mandate that other behaviors of the network "stay the same", without enumerating them. To achieve similar guarantees, single-snapshot specifications need to enumerate all flow and path behaviors that are not expected to change, so we can check that nothing has accidentally changed. Thus, precise single-snapshot specifications are proportional to network size, which makes them impractical to generate for many real-world networks.   To demonstrate the value of relational reasoning, we develop a high-level relational specification language and a tool called Rela to validate network changes. Rela first compiles input specifications and network snapshot representations to finite state transducers. It then checks compliance using decision procedures for automaton equivalence. Our experiments using data on complex changes to a global backbone (with over 10^3 routers) find that Rela specifications need fewer than 10 terms for 93% of them and it validates 80% of them within 20 minutes.<|reference_end|>
@article{xu2024relational,
    title={Relational Network Verification},
    author={Xieyang Xu (1), Yifei Yuan (2), Zachary Kincaid (3), Arvind
  Krishnamurthy (1), Ratul Mahajan (1), David Walker (3) and Ennan Zhai (2)
  ((1) University of Washington, (2) Alibaba Cloud, (3) Princeton University)},
    journal={arXiv preprint arXiv:2403.17277},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.17277},
    primaryClass={cs.NI}
}