Department of Computer & Information Science
University of Pennsylvania
Email: jnfoster[at]cis.upenn.edu
Office: Levine 561
Adviser: Benjamin Pierce
News
I will join the Department of Computer Science at Cornell in the Fall of 2010 as an Assistant Professor. Next year I will be a postdoc with Jennifer Rexford and Dave Walker.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 Activities
- [3 Jun] Please submit a paper to PEPM '10.
- [9 May] Updatable Security Views presented at IBM PLDay.
- [28 Apr] Updatable Security Views sent to CSF 22.
- [13 Apr] Invited GRACE-BX meeting report sent to ICMT '09.
- [7 Apr] Please submit a paper to APLAS '09.
- [10 Mar] My dissertation has been selected for a Rubinoff Award!
- [9 Feb] Please submit a paper to DBPL '09.
- [5 Jan] I'm on the job market! My application materials are available here.
- [15 Dec] Semantics of Bidirectional Languages and Quotient Lenses presented at GRACE-BX.
- [24 Sep] Quotient Lenses presented at ICFP '08.
- [9 Sep] Defended my proposal for "Bidirectional Programming Languages".
- [2 Sep] Please submit a paper to PLAN-X '09!
- [28 Aug] Quotient Lenses presented at IBM PLDay.
- [11 Jun] Annotated XML: Queries and Provenance presented (by TJ) at PODS '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 and Workshop Papers
-
J. Nathan Foster, Benjamin C. Pierce, and Steve Zdancewic.
Updatable Security Views.
In IEEE Computer Security Foundations Symposium (CSF), Port
Jefferson, NY, July 2009.
To appear.
[ bib | conference version ] -
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.
[ bib | tech report | 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, June 2008.
[ bib | 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.
[ 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 ]
Invited Papers
-
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, June 2009.
Invited paper. To appear.
[ bib | conference version ] -
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 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 ]
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 6th 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
- Rubinoff Dissertation Award (Penn)
- 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.