Nate Foster
Assistant Professor of Computer Science - Cornell University

Network Programming With Frenetic

Recent years have seen growing interest in high-level languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network devices than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code.

This talk will present Frenetic, a new language for programming networks that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. The first part of the talk will present the design of the language, including primitives for filtering, modifying, and transmitting packets; operators for combining programs in parallel and in sequence; and a Kleene star operator for iterating programs. The next part of the talk will explore the semantic underpinnings of the language, by developing a formal connection between Frenetic programs and well studied mathematical structures known as Kleene Algebras with Tests (KAT). The final part of the talk will show this connection can be leveraged to address practical problems including efficient compilation and automatic verification.

Joint work with Carolyn Anderson (Swarthmore College), Arjun Guha (UMass Amherst), Jean-Baptiste Jeannin (CMU), Dexter Kozen (Cornell),  Matthew Milano (Cornell), Cole Schlesinger (Princeton), Alexandra Silva (Nijmegen), Steffen Smolka (Cornell), Laure Thompson (Cornell), and Dave Walker (Princeton).

Nate Foster is an Assistant Professor of Computer Science at Cornell University. His research focuses on developing language abstractions and tools for building reliable systems. He received a PhD in Computer Science from the University of Pennsylvania in 2009, an MPhil in History and Philosophy of Science from Cambridge University in 2008, and a BA in Computer Science from Williams College in 2001. His awards include a Sloan Research Fellowship, an NSF CAREER Award, a Most Influential POPL Paper Award, a Tien '72 Teaching Award, a Yahoo! Academic Career Enhancement Award, and the Morris and Dorothy Rubinoff Award.

Friday, May 1, 2015
3:30 PM
Gates & Hillman Centers 6501

Principles of Programming Seminars