Cornell-Princeton
Network Programming Initiative

About

The Cornell-Princeton 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.

People

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

Nate Foster (Co-Director)

Cornell

Jennifer Rexford (Co-Director)

Princeton

Rachit Agarwal

Cornell

Nick Feamster

Princeton

Aarti Gupta

Princeton

Dexter Kozen

Cornell

Vitaly Shmatikov

Cornell

David Walker

Princeton

Projects

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

Frenetic

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

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

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.

>

Events

Annual Retreat

The NPI annual retreat brings 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.