Nate Foster

Nate Foster

Computer Science
Gates Hall, Room 432


Nate Foster is an Associate Professor of Computer Science at Cornell University. The primary goal of his research is to develop languages and tools that make it easy for programmers to build secure and reliable systems. His current work focuses on the design and implementation of domain-specific programming languages for software-defined networks. In the past he has worked on bidirectional languages (also known as "lenses"), database query languages, data provenance, type systems, mechanized proof, and formal semantics. He received a PhD in Computer Science from the University of Pennsylvania, an MPhil in History and Philosophy of Science from Cambridge University, and a BA in Computer Science from Williams College. His awards include a Sloan Research Fellowship, an NSF CAREER Award, a Most Influential POPL Paper Award, a Tien '72 Teaching Award, a Cornell Engineering Research Excellence Award, two Google Research Awards, a Yahoo! Academic Career Enhancement Award, and the Morris and Dorothy Rubinoff Award.

Research Interests

Declarative languages for networks; language support for synchronization; bidirectional languages

Teaching Interests

Undergraduate and graduate programming languages.

Selected Publications

  • Jed Liu, William Hallahan, Cole Schlesinger, Milad Sharif, Robert SoulĂ©, Han Wang, Calin Cascaval, Nick McKeown, and Nate Foster. "p4v: Practical Verification for Programmable Data Planes. Paper presented at ACM Conference of the Special Interest Group on Data Communication (SIGCOMM), Budapest, Hungary, August 2018.
  • Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha.  "A Fast Compiler for NetKAT." Paper presented at ACM SIGPLAN International Conference on Functional Programming (ICFP), Vancouver, BC, August 2015.
  • Carolyn Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. 2014. "NetKAT: Semantic Foundations for Networks."  In ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), San Diego, CA, January 2014.
  • Arjun Guha, Mark Reitblatt, and Nate Foster"Machine-Verified Network Controllers."  Paper presented at ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Seattle, WA, June 2013.
  • Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, and David Walker. "Abstractions for Network Update."  Paper presented at ACM SIGCOMM Conference on Communications Architectures, Protocols and Applications (SIGCOMM), Helsinki, Finland, August 2012.

Selected Awards and Honors

  • ACM SIGCOMM Rising Star Award 2018
  • USENIX NSDI Best Paper 2018
  • Cornell Engineering Research Excellence Award 2015
  • Most Influential POPL Paper Award 2015
  • Member, IFIP Working Group 2.8: Functional Programming 2013
  • NSF CAREER Award 2013


  • BA (Computer Science), Williams College,  2001
  • MPhil  (History and Philosophy of Science),  University of Cambridge,  2008
  • PhD  (Computer and Information Science),  University of Pennsylvania,  2009