Recent Presentations

Tutorial on program synthesis
invited tutorial at CAV 2012, Berkeley, CA, July 09, 2012.

Parallel Client Programmable by Everyone
workshop presentation at Computer Systems Design for the 21st Century (ASPLOS 2011 PC Workshop), Rochester, NY, October 21, 2011.
slides

Algorithmic Program Synthesis
seminar at seminar, MSR Cambridge, UK, September 15, 2011.

Automatic Programming Revisited, Part I: Puzzles and Oracles
invited talk at ARTIST Summer School Europe 2011, Aix-les-Bains, France, September 04, 2011.
slides

~, Part II: Synthesizer Algorithms
invited talk at ARTIST Summer School Europe 2011, Aix-les-Bains, France, September 04, 2011.
slides

Sketching: Partial Programs, Inductive Synthesis and Constraint Solvers
invited talk at 4th International Workshop on Approaches and Applications of Inductive Programming, Odense, Denmark, July 19, 2011.

Hack Your Language!
invited panel presentation at Teaching Programming Language Design and Implementation ... What? to Whom? How? (PLDI 2011 panel), San Jose, CA, June 08, 2011.
slides

Parallel Programming with Inductive Synthesis
workshop presentation at 3rd USENIX Workshop on Hot Topics in Parallelism (HotPar), Berkeley, CA, May 27, 2011.

Ideas for Applying Synthesis to High-Performance Computing
invited talk at DARPA ISAT Workshop, Chicago, IL, May 24, 2011.

Automatic Programming Revisited
invited talk at Triangle Computer Science Distinguished Lecturer Series, NCSU, March 28, 2011.
video

Algorithmic Program Synthesis with Partial Programs
invited talk at CIS Colloquium 2009, University of Pennsylvania, PA, October 01, 2009.

Synthesizing Programs from Programmer Insight
invited talk at Future of Design of Software Development (NPUC 2009), Almaden, CA, July 09, 2009.
slides

Algorithmic Program Synthesis with Partial Programs and Decision Procedures
invited talk at The 16th International Static Analysis Symposium (SAS 2009), Los Angeles, CA, August 09, 2009.

Algorithmic Program Synthesis
invited lectures at Oregon Summer School in Programming Languages, Eugene, OR, July 23, 2009.

Program Synthesis by Sketching
invited talk at 7th meeting of IFIP Working Group 2.11, NASA Ames, April 15, 2009.

Program Synthesis by Sketching
invited lecture at Computer Science Lecture Series, Rice University, October 27, 2008.

Exploiting Parallelism in the Web Browser
invited talk at Browser Performance Workshop, Santa Clara, CA, August 01, 2008.

Recent Results in Sketching Synthesis
seminar at IBM Watson PL Seminar, Hawthorne, NY, August 01, 2008.

Sketching Concurrent Data Structures
invited talk at UW/MSR Workshop on The Concurrency Challenge, Blaine, WA, August 01, 2008.

Browsing Web 3.0 on 3.0 Watts: Why Browsers Will Be Parallel and Im- plications for Education
invited talk at The 3rd Workshop on Software Tools for MultiCore Systems (STMCS08), Boston, MA, April 01, 2008.
slides

Program Synthesis by Sketching
plenary talk at The 4th Annual Thomas J. Watson P=ac2 Conference, Yorktown Heights, NY, April 01, 2008.
slides

Why Do We Still Have Bugs?
panel presentation at The 4th Annual Thomas J. Watson P=ac2 Conference, Yorktown Heights, NY, March 01, 2008.
slides

Browsing Web 3.0 on 3.0 Watts: Why Browsers Will Be Parallel
invited talk at Mozilla Corp Engineering All-Hands Week, Menlo Park, CA, January 01, 2008.

Program Synthesis by Sketching
invited talk at ACM SIGPLAN 2008 Workshop on Partial Evaluation and Program Manipulation (PEPM08), San Francisco, CA, January 01, 2008.

Programming by Sketching
invited talk at Computer Science Colloquium, Cornell University, October 04, 2007.

Programming by Sketching
invited talk at New England Programming Languages and Systems Symposium (NEPLS), Portland, Maine, October 01, 2006.

Two Techniques for Programming by Sketching
invited talk at Computer Science Colloquium, Brown University, October 01, 2006.