Nate Foster

Nate Foster

Office: 432 Gates Hall
Phone: (607) 255-5210
Email: jnfoster[at]


I am on sabbatical at Stanford and Barefoot Networks during the 2016-2017 academic year. It may take me longer than normal to respond to email. I am still actively recruiting talented research students and postdocs, but I won't be teaching any courses this year.


My research uses ideas from programming languages to solve problems in networking, databases, and security. Some topics of interest include semantics, type systems, bidirectional languages, data synchronization, and mechanized proof. Recently I spend most of my time thinking about network programming.





Merlin   Merlin

Forest   Forest

Recent Publications [All]

Shrutarshi Basu, Nate Foster, Hossein Hojjat, Paparao Palacharla, Christian Skalka, and Xi Wang. Life on the Edge: Unraveling Policies into Configurations. In IEEE/ACM Symposium on Architectures for Networking and Communications Systems (ANCS), Beijing, China , May 2017.

Han Wang, Robert SoulĂ©, Huynh Tu Dang, Ki Suh Lee, Vishal Shrivastav, Nate Foster, and Hakim Weatherspoon. P4FPGA: A Rapid Prototyping Framework for P4. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, April 2017. [ conference version ]

Steffen Smolka, Praveen Kumar, Nate Foster, Dexter Kozen, and Alexandra Silva. Cantor Meets Scott: Semantic Foundations for Probabilistic Networks. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), Paris, France, January 2017. [ conference version ]

Jonathan DiLorenzo, Richard Zhang, Erin Menzies, Kathleen Fisher, and Nate Foster. Incremental Forest: A DSL for Efficiently Managing Filestores. In ACM SIGPLAN Conference on Object-Oriented Programming Languages, Systems, and Applications (OOPSLA), Amsterdam, Netherlands, October 2016. [ conference version ]

Hossein Hojjat, Phillip Reummer, Jedidiah McClurg, Pavol Cerny, and Nate Foster. Optimizing Horn Solvers for Network Repair. In Formal Methods in Computer Aided Design (FMCAD), Mountain View, CA, USA, October 2016. [ conference version ]

Pavol Cerny, Nate Foster, Nilesh Jagnik, and Jedidiah McClurg. Consistent Network Updates in Polynomial Time. In International Symposium on Distributed Computing (DISC), Paris, France, September 2016. [ conference version ]

Jedidiah McClurg, Hossein Hojjat, Nate Foster, and Pavol Cerny. Event-Driven Network Programming. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Santa Barbara, CA, June 2016. [ conference version ]

Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, and Alexandra Silva. Probabilistic NetKAT. In European Symposium on Programming (ESOP), Eindhoven, Netherlands, April 2016. [ conference version ]

Karla Saur, Joseph Collard, Nate Foster, Arjun Guha, Laurent Vanbever, and Michael Hicks. Safe and Flexible Controller Upgrades for SDNs. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, March 2016. [ conference version ]

Haoxian Chen, Nate Foster, Jake Silverman, Michael Whittaker, Brandon Zhang, and Rene Zhang. Felix: Implementing Traffic Measurement on End Hosts Using Program Analysis. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, March 2016. [ conference version ]

Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha. A Fast Compiler for NetKAT. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Vancouver, BC, September 2015. [ conference version ]

Nikolaj Bjorner, Nate Foster, Philip Brighten Godfrey, and Pamela Zave. Formal Foundations for Networking (Dagstuhl Seminar 15071). Dagstuhl Reports, 5(2):44--63, 2015. [ DOI | http ]

Research Group

I am very fortunate to work with a great group!


* = CRA honoree
# = NSF fellow


Current Semester

Past Semesters

Professional Activities

Validate XHTML Validate CSS
Last updated January 2012