I'm a post-doc at Cornell, working with Greg Morrisett on parsers. My email address is I defended (but haven't officially completed) my PhD at UCSD in 2020, working with Nadia Polikarpova and Sorin Lerner.

My research interests lie at the intersection of Programming Languages (PL) and Human-Computer Interaction (HCI). Here are some of my current and past projects!

  • mockdown: resizeable visual layouts from input-output examples.
  • spyder: language support for maintaining data invariants. code.
  • eddie: interactive diagrams without coding. online demo, website, code.


In preparation/Pre-prints

Robust and Hierarchical Synthesis of Dynamic Visual Layouts

Dylan Lukes1, John Sarracino1, Cora Coleman, Sorin Lerner, Nadia Polikarpova. In preparation.

Targeted Synthesis for Programming with Data Invariants

John Sarracino, Shraddha Barke, Hila Peleg, Nadia Polikarpova, Sorin Lerner. pdf draft.

Conference Publications

User-Guided Synthesis of Interactive Diagrams.

John Sarracino, Giovani (Odaris) Barrios-Arciga, Jasmine Zhu, Noah Marcus, Sorin Lerner, Ben Wiedermann. CHI '17. pdf, website, slides

Interactive Parser Synthesis by Example.

Alan Leung, John Sarracino, Sorin Lerner. PLDI '15. pdf, website

JSAI: A Static Analysis Platform for JavaScript.

Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf. FSE '14. pdf

Workshop Publications

Chihuahua: A Concurrent, Moving, Garbage Collector using Transactional Memory.

Todd Anderson1, Melissa O'Neil1, John Sarracino1. TRANSACT '15. pdf

Type Refinement for Static Analysis of JavaScript.

Vineeth Kashyap, John Sarracino, John Wagner, Ben Wiedermann, Ben Hardekopf. DLS '13. pdf

  1. These authors contributed equally to the work.