My research uses ideas from programming languages to solve problems in networking, databases, and security. Some specific topics of interest include language design, semantics, type systems, and mechanized proof. Recently I’ve been spending most of my time thinking about how to design better languages and tools for computer networks.


  • [6/2023] Robin Milner Young Researcher Award from ACM SIGPLAN.
  • [6/2023] Formal Abstractions for Packet Scheduling accepted to OOPSLA.
  • [5/2023] P4Testgen: An Extensible Test Oracle for P4-16 accepted to SIGCOMM.
  • [5/2023] Hydra: Effective Runtime Network Verification accepted to SIGCOMM.
  • [4/2023] iMAT: Automata Learning with an Incomplete Teacher accepted to ECOOP.
  • [11/2022] P4Cub: A Little Language for Big Routers accepted to CPP.
  • [11/2022] A Programming Language for Future Interests accepted to YJoLT.
  • [5/2022] Research Excellence Award from Cornell Bowers CIS.
  • [4/2022] Forwarding and Routing with Packet Subscriptions accepted to ACM/IEEE ToN.
  • [2/2022] Leapfrog: Certified Equivalence for Protocol Parsers accepted to PLDI 22.
  • [2/2022] Award for Praveen Kumar's thesis Toward Predictable Networks from ACM SIGCOMM.

Current Projects

Reinforcement Learning for Network Security
Petr4 logo
Formal Foundations for Programmable Data Planes
CPP '23 PLDI '22
POPL '21 Code
Pronto logo
Verifiable Closed-Loop Control for Next-Generation Networks
NSDI '21
NetKAT logo
(Co)-Algebraic Foundations for Programmable Networks
PLDI '19 POPL '20
Neptune logo
Flexibility, Performance, Consistency for Heterogeneous Packet-Processing Architectures
Littleton logo
A Programming Language for Future Interests
Webpage YJoLT '22
Onward! '19