Network Programming Initiative


The Network Programming Initiative supports research on languages, algorithms, and tools for network programming, and facilitates closer interactions with partners in industry and government. For more details, read our whitepaper.



Our interdisciplinary research team combines expertise in algorithms, networking, programming languages, systems, and verification.

Nate Foster (Co-Director)


Jennifer Rexford (Co-Director)


Rachit Agarwal


Aarti Gupta


Dexter Kozen


Vitaly Shmatikov


David Walker



Our research efforts to date have produced solutions to several fundamental problems in network programming.


Frenetic is a domain-specific programming language for software-defined networks. Distinguishing features of the language include support for modular composition operators and a careful treatment of routing and monitoring.


iSDX (Software-Defined IXP) brings the features of SDN to interdomain routing, offering direct control over packet-processing rules that match on multiple header fields and perform a variety of actions. IXPs are a compelling place to deploy these changes, given their role in interconnecting many networks and their growing importance in bringing popular content closer to end users.


Minesweeper is a proactive network analysis and bug-finding tool. Given a set of network configurations, it automatically performs "what-if" analyses under a range of scenarios, including failures.

NetKAT and ProbNetKAT

NetKAT is a network programming language based on a solid mathematical foundation: Kleene Algebra with Tests (KAT). The language has a sound and complete deductive reasoning system and a decision procedure that can be used to address many practical verification problems. Probabilistic NetKAT adds new constructs for modeling randomized algorithms as well as uncertainy about traffic, failures, etc.


Workshop on Foundations of Routing

This workshop will bring together leading researchers and industrial practitioners from the theory and networking communities to discuss recent successes and future challenges related to routing.

Annual Retreat

NPI retreats bring together faculty, PhD students, postdocs, and industry partners for a full day of presentations, panel discussions, and working groups on problems related to network programming. We typically hold the retreat in New York City at the Cornell Tech campus on Roosevelt Island. Participation is by invitation only. Please contact the co-directors for more information if you would like to attend.

Hangouts-on-Air Seminar Series

The NPI hangouts-on-air seminar series highlights recent research results related to network programming. Participation is open to all.