John K. Feser

Profile picture
Email: feser at csail.mit.edu
Office: 32-G740
Github
LinkedIn
Google Scholar

I am a PhD student at MIT CSAIL, working with Armando Solar Lezama. I received my Undergraduate and Master's degrees from Rice University, where I worked with Swarat Chaudhuri.

My research interests are in automated program synthesis and performance engineering, with a focus on synthesizing high performance software that is specialized to a workload.

Publications

  1. Query Optimization for Dynamic Imputation. José Cambronero*, John K. Feser*, Micah J. Smith*, Samuel Madden. VLDB. (2017) To appear. [pdf, ACM, Github]
  2. Synthesizing Data Structure Transformations from Input-Output Examples. John K. Feser, Swarat Chaudhuri, Isil Dillig. PLDI. (2015) [pdf, ACM, Github]

*Authors contributed equally to this paper.

Theses

  1. Inductive Program Synthesis from Input-Output Examples. Master's Thesis. Rice University, Department of Computer Science. Advisors: Swarat Chaudhuri, Christopher Jermaine, Moshe Y. Vardi. (2016) [pdf]

Preprints

  1. Deductive Optimization of Relational Data Storage. John K. Feser, Samuel Madden, Nan Tang, Armando Solar-Lezama. arXiv:1903.03229. (2019) [arXiv, Github]
  2. LATE Ain'T Earley: A Faster Parallel Earley Parser. Peter Ahrens*, John Feser*, Robin Hui*. arXiv:1807.05642. (2018) [arXiv, Github]
  3. Neural Functional Programming. John K. Feser, Marc Brockschmidt, Alexander L. Gaunt, Daniel Tarlow. arXiv:1611.01988. (2017) [pdf, arXiv]

*Authors contributed equally to this paper.

Posters

  1. Neural Functional Programming. John K. Feser, Marc Brockschmidt, Alexander L. Gaunt, Daniel Tarlow. ICLR. (2017) [pdf]
  2. Synthesizing Data Structure Transformations from Input-Output Examples John K. Feser, Swarat Chaudhuri, Isil Dillig. PLDI. (2015) [pdf]
  3. Unification and Partial Evaluation for Component Based Synthesis. John K. Feser, Vijayaraghavan Murali, Swarat Chaudhuri, Isil Dillig. PLDI SRC. (2015) [pdf]

Software

Castor: A tool for deductively synthesizing custom physical layouts for read-only databases. [repository]

ImputeDB: A database with automatic dynamic imputation of missing values. [repository]

λ2: A tool for synthesizing functional programs from input-output examples. [repository]

combinat: Fast iterators over combinatorial objects for OCaml. [repository]

ocaml-cmph: OCaml bindings for the CMPH minimal perfect hashing library. [repository]

odoc2docset: Tool for generating Dash docsets from Odoc generated documentation. [repository]

Professional Experience

Internship at Aarno Labs (Cambridge, MA). June 2018. Worked on a distributed system for neutralizing botnets in hostile networks.

Internship at Microsoft Research (Cambridge, UK). Summer 2016. Worked with Marc Brockschmidt and Daniel Tarlow on synthesizing functional programs using machine learning.

Internship at Microsoft Research (Redmond). Summer 2015. Worked with Sumit Gulwani and Rishabh Singh on a program synthesis tool for filtering log files.

Teaching assistant for Comp 382 (Fall 2015), Comp 421 (Spring 2015, Spring 2016) at Rice University.