Department of Computer & Information Science
University of Pennsylvania
Email: jnfoster[at]cis.upenn.edu
Office: Levine 561
Advisor: Benjamin Pierce
Research Interests
My broad interests lie in the intersection between programming languages, databases, and formal methods.
For my dissertation work, I am investigating the design and implementation of bidirectional programming languages. I am especially interested in languages that describe certain well-behaved bidirectional transformations called lenses. My main testbed for trying out new ideas is Boomerang, a programming language for defining lenses over ad hoc data formats. More details can be found in my publications, and on the Harmony page.
Recent News
- [2 Apr] Quotient Lenses submitted!
- [25 Mar] Annotated XML: Queries and Provenance camera-ready sent to PODS '08.
- [6 Mar] I've been asked to join the PLAN-X '09 PC. Please submit a paper!
- [13 Jan] Boomerang: Resourceful Lenses for String Data presented at POPL '08.
Journal Papers
-
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.
Preliminary version in DBPL '05.
[ bib | 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, (3), May
2007.
Preliminary version in POPL '05.
[ bib | conference version | full version | slides ]
Conference / Workshop Papers
-
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, June 2008.
[ bib | conference version ] -
J. Nathan Foster, Alexandre Pilkiewcz, and Benjamin C. Pierce.
Quotient Lenses.
April 2008.
Submitted.
[ bib | .pdf ] -
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.
[ bib | 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.
[ bib | 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.
[ bib | 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.
[ bib | 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.
[ bib | 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.
[ bib | conference version | slides ]
Miscellaneous
-
J. Nathan Foster and Grigoris Karvounarakis.
Provenance and Data Synchronization.
IEEE Data Engineering Bulletin, (4):13-21, December 2007.
Invited paper for special issue on provenance.
[ bib | short version ] -
J. Nathan Foster.
Actions Louder Than Words? MSO-Definable Transductions,
November 2006.
In fulfillment of Written Preliminary Exam II, Computer and
Information Science, University of Pennsylvania.
[ bib ] -
J. Nathan Foster and Dimitrios Vytiniotis.
A Theory of Featherweight Java in Isabelle/HOL.
In Gerwin Klein, Tobias Nipkow, and Lawrence Paulson, editors,
The Archive of Formal Proofs. http://afp.sf.net, April 2006.
[ bib | source code | short version | full version ] -
J. Nathan Foster, Benjamin C. Pierce, and Alan Schmitt.
Harmony Programmer's Manual, 2006.
[ bib | home page | .pdf ] -
J. Nathan Foster.
Harmony: A Generic Synchronization Framework for Heterogeneous,
Replicated Data, October 2005.
Poster at DB-IR Day.
[ bib | .pdf ]
Theses
-
J N Foster.
Indexicals and Belief Reports.
MPhil dissertation, Department of History and Philosophy of
Science, University of Cambridge, Cambridge, UK, June 2003.
[ bib | .pdf ] -
John N Foster.
Model Checking for a Functional Hardware Description Language.
Tripos dissertation, Computer Laboratory, University of Cambridge,
Cambridge, UK, June 2002.
[ bib | .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.
[ bib | .pdf ]
Background
I am a fifth year PhD student at Penn, where I participate in the Programming Languages Club and the Database Research Group. I have been an intern at IBM Research and a visitor at INRIA Rhône-Alpes. Before coming to Penn, I studied at Emmanuel College Cambridge, where I read Part II of the Computer Science Tripos and completed an MPhil in History and Philosophy of Science. My first degree is from Williams.
Awards
- Graduate Research Fellowship (NSF)
- Teaching Practicum Award (Penn)
- Data Connections Outstanding Dissertation Prize (Cambridge)
- Herchel Smith Fellowship (Williams / Emmanuel)
- Sam Goldberg Colloquium Prize (Williams)
- Phi Beta Kappa (Williams)
- Sigma Xi
Personal
I love Mansard
roofs, volleyball, biking up hills,
and running . Back
when I had more free time I used to
enjoy punting
and swimming in fjords. I always
keep an eye out for falling
Alfred Hitchcocks.
I helped design the Orphans of Rwanda website.