English

Active Learning of Symbolic NetKAT Automata

Programming Languages 2025-05-26 v2

Abstract

NetKAT is a domain-specific programming language and logic that has been successfully used to specify and verify the behavior of packet-switched networks. This paper develops techniques for automatically learning NetKAT models of unknown networks using active learning. Prior work has explored active learning for a wide range of automata (e.g., deterministic, register, B\"uchi, timed etc.) and also developed applications, such as validating implementations of network protocols. We present algorithms for learning different types of NetKAT automata, including symbolic automata proposed in recent work. We prove the soundness of these algorithms, build a prototype implementation, and evaluate it on a standard benchmark. Our results highlight the applicability of symbolic NetKAT learning for realistic network configurations and topologies.

Keywords

Cite

@article{arxiv.2504.13794,
  title  = {Active Learning of Symbolic NetKAT Automata},
  author = {Mark Moeller and Tiago Ferreira and Thomas Lu and Nate Foster and Alexandra Silva},
  journal= {arXiv preprint arXiv:2504.13794},
  year   = {2025}
}

Comments

Appearing in PLDI 2025