Assistant Professor
Department of Computer Science
Cornell University
Office: 4137 Upson Hall
Phone: (607) 255-5210
Email: jnfoster[at]cs.cornell.edu
J. Nathan Foster, Michael B. Greenwald, Christian Kirkegaard, Benjamin C. Pierce, and Alan Schmitt. Exploiting Schemas in Data Synchronization. Journal of Computer and System Sciences, 73(4), June 2007. Short version in DBPL '05. [ conference version | full version | slides ]
J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt. Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem. ACM Transactions on Programming Languages and Systems, 29(3), May 2007. Short version in POPL '05. [ conference version | full version | slides ]
Nate Foster, Michael J. Freedman, Rob Harrison, Christopher Monsanto, Mark Reitblatt, Jennifer Rexford, Alec Story, and David Walker. Language Abstractions for Software-Defined Networks. In Workshop on Languages for Distributed Algorithms (LADA), Philadelphia, PA, January 2012. [ conference version ]
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 ]
Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, and David Walker. Frenetic: A High-Level Langauge for OpenFlow Networks. In ACM Workshop on Programmable Routers for Extensible Services of Tomorrow (PRESTO), Philadelphia, PA, November 2010. [ pdf ]
Davi M. J. Barbosa, Julien Cretin, Nate Foster, Michael Greenberg, and Benjamin C. Pierce. Matching Lenses: Alignment and View Update. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Baltimore, MD, pages 193-204, September 2010. [ conference version | slides ]
James Cheney, Stephen Chong, Nate Foster, Margo Seltzer, and Stijn Vansummeren. Provenance: A Future History. In Onward! (An OOPSLA conference), October 2009. To appear. [ conference version ]
J. Nathan Foster, Benjamin C. Pierce, and Steve Zdancewic. Updatable Security Views. In IEEE Computer Security Foundations Symposium (CSF), Port Jefferson, NY, July 2009. [ conference version | slides ]
J. Nathan Foster, Alexandre Pilkiewcz, and Benjamin C. Pierce. Quotient Lenses. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Victoria, BC, pages 383-395, September 2008. [ conference version | slides ]
J. Nathan Foster, Todd J. Green, and Val Tannen. Annotated XML: Queries and Provenance. In ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), Vancouver, BC, pages 271-280, June 2008. [ conference version ]
Aaron Bohannon, J. Nathan Foster, Benjamin C. Pierce, Alexandre Pilkiewicz, and Alan Schmitt. Boomerang: Resourceful Lenses for String Data. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Francisco, CA, pages 407-419, January 2008. [ tech report | conference version | slides ]
Mary Fernandez, Kathleen Fisher, J. Nathan Foster, Michael Greenberg, and Yitzhak Mandelbaum. A Generic Programming Toolkit for PADS/ML: First-Class Upgrades for Third-Party Developers. In Symposium on Practical Aspects of Declarative Languages (PADL), San Francisco, CA, pages 133-149, January 2008. [ conference version ]
J. Nathan Foster, Ravi Konuru, Jerome Simeon, and Lionel Villard. An Algebraic Approach to XQuery View Maintenance. In ACM SIGPLAN Workshop on Programming Language Technologies for XML (PLAN-X), San Francisco, CA, page 31, January 2008. [ short version | slides ]
J. Nathan Foster, Benjamin C. Pierce, and Alan Schmitt. A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice. In ACM SIGPLAN Workshop on Programming Language Technologies for XML (PLAN-X), Nice, France, pages 80-90, January 2007. [ conference version | slides ]
Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, and Steve Zdancewic. Mechanized Metatheory for the Masses: The POPLmark Challenge. In International Conference on Theorem Proving in Higher Order Logics (TPHOLS), Oxford, UK, August 2005. [ conference version ]
Kim B. Bruce and J. Nathan Foster. LOOJ: Weaving LOOM into Java. In European Conference on Object-Oriented Programming (ECOOP), Oslo, Norway, volume 3086 of Lecture Notes in Computer Science, pages 389-413. Springer-Verlag, June 2004. [ conference version | slides ]
Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, and James F. Terwilliger. Bidirectional Transformations: A Cross-Discipline Perspective. GRACE Meeting notes, state of the art, and outlook. In International Conference on Model Transformations (ICMT), Zurich, Switzerland, pages 260-283, June 2009. Invited paper. [ conference version ]
J. Nathan Foster and Grigoris Karvounarakis. Provenance and Data Synchronization. IEEE Data Engineering Bulletin, 30(4):13-21, December 2007. Invited paper for special issue on provenance. [ short version ]
J. Nathan Foster and Dimitrios Vytiniotis. A Theory of Featherweight Java in Isabelle/HOL. April 2006. [ source code | short version | full version ]
John Nathan Foster. Bidirectional Programming Languages. PhD thesis, University of Pennsylvania, December 2009. [ book | tech report | slides ]
J N Foster. Indexicals and Belief Reports. MPhil dissertation, Department of History and Philosophy of Science, University of Cambridge, Cambridge, UK, June 2003. [ pdf ]
John N Foster. Model Checking for a Functional Hardware Description Language. Tripos dissertation, Computer Laboratory, University of Cambridge, Cambridge, UK, June 2002. [ pdf ]
John N Foster. Rupiah: Towards an Expressive Static Type System for Java. Senior honors thesis, Department of Computer Science, Williams College, Williamstown, MA, June 2001. [ pdf ]
These documents are included by the contributing authors to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders. All persons copying this information must adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.