Assistant Professor
Department of Computer Science
Cornell University
Office: 4137 Upson Hall
Phone: (607) 255-5210
Email: jnfoster[at]cs.cornell.edu
My research focuses on problems in programming languages, data management, and security. Some topics of interest include semantics, type systems, bidirectional languages, provenance, data synchronization, and mechanized proof. Recently I have also been working on domain-specific languages for networks.
Lonnie Princehouse, Nate Foster, and Ken Birman. A Pairwise Abstraction for Round-Based Protocols. In Workshop on Languages for Distributed Algorithms (LADA), Philadelphia, PA, January 2012. [ conference version ]
Christopher Monsanto, Nate Foster, Rob Harrison, and David Walker. A Compiler and Run-time System for Network Programming Languages. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Philadelphia, PA, January 2012. [ conference version ]
Christopher M. Hayden, Stephen Magill, Michael Hicks, Nate Foster, and Jeffrey S. Foster. Specifying and Verifying the Correctness of Dynamic Software Updates. In International Conference on Verified Software: Theories, Tools, Experiments (VSTTE), Philadelphia, PA, January 2012. [ conference version ]
Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. Frenetic: A Network Programming Language. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Tokyo, Japan, September 2011. [ conference version ]
Kathleen Fisher, Nate Foster, David Walker, and Kenny Q. Zhu. Forest: A Language and Toolkit for Programming With Filestores. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Tokyo, Japan, September 2011. [ conference version ]
I work with a great group of students: