Lecture 4: Programming by Natural Language [slides]
Analogical Reasoning Engines: Flash Fill vs GPT-4, Keynote at CAV (July 2023) and SBES (Sep 2023) [video]
Leveraging LLMs as Analogical Reasoning Engines to enhance Programming-by-Example experiences, Keynote at Software Engineering for ML Applications (SEMLA), June 2023 [slides]
Enhancing Programming Experiences with AI: Leveraging LLMs and Beyond, Invited talk at Upper Bound, May 2023
Innovating through uncertainty: Getting super curious and combining disparate elements, Invited short talk at Microsoft Leadership Forum, April 2023 [video]
Art of doing disruptive research, Invited talk at India Science Festival (Jan 2023), MSRI (Jan 2023), and CBSoft (Sep 2023) [video]
The Story of Flash Fill and (how it shaped) me [30-minute talk] and The actors behind Flash Fill [5-minute speech], POPL 2021 Most Influential Award, Jan 2021
New Directions in Programming by Examples, Invited talk at NeurIPS 2020 workshop on Computer-Assisted Programming, Dec 2020
Program Synthesis for the Masses: A Journey of Minimalism in Specification, ICSE 2020 Most Influential Paper Award Speech, July 2020 [video]
Program Synthesis for Robotic Process Automation, Keynote at IPA-20 (AAAI workshop on Intelligent Process Automation), Feb 2020
Programming by Examples: PL meets ML, Invited talk at APLAS, Nov 2017 [pdf]
Usability Design Space in Programming by Examples, Invited talk at PLATEAU, Oct 2017 [abstract, ppt]
Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at PPDP, Oct 2017 [ppt]
Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Colloquium at Indiana University, Sep 2017 [ppt]
Programming by Examples: PL meets ML, Keynote at MAPL 2017 [ppt]
Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Lectures at UPMARC Summer School, June 2017 [ppt]
Programming using Examples, Tutorial at PLDI 2016 [ppt]
Spreadsheet Programming using Examples, Keynote at SEMS 2016 [ppt]
Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at IJCAR 2016, June 2016
Programming by Examples: Applications, Ambiguity Resolution, Approach, Lecture at UC-Berkeley, Nov 2015
Talks at Dagstuhl seminar on Approaches and Applications of Inductive Programming, Oct 2015
Applications to Data Wrangling
Deductive Techniques for Synthesis from Inductive Specifications
Microsoft PROSE SDK: A Framework for creating Programming-by-example tools
Applications of Formal Methods to Data Wrangling and Education, Keynote at CBSoft 2015
Programing by Examples, Tutorial at CBSoft, Sep 2015
Programming by Examples, Lectures at Marktoberdorf Summer School, Aug 2015
Lecture 1: Demos and Ambiguity Resolution
Lecture 2: Domain-specific Languages
Lecture 3: Search Methodology
Lecture 4: FlashMeta SDK (given by Alex Polozov)
Lecture 5: Miscellaneous
Programming by Examples applied to Data Wrangling, Invited talk at SYNT 2015
Data Wrangling using Programming by Examples [video], Invited talk at ECOOP, July 2015
Data Manipulation using Programming by Examples and Natural Language, Distinguished Lecture Series @ UPenn (April 2015)
Automating Repetitive Tasks for the Masses, Keynote at POPL 2015
Cultivating Research Taste (illustrated via a journey in program synthesis research) [video], Invited talk at PLMW 2015
Applications of Program Synthesis to End-User Programming and Intelligent Tutoring Systems, Invited talk at ILP 2014
Problem Generation and Feedback Generation, Invited talk at ASSESS 2014
Applications of Program Synthesis to End-User Programming and Intelligent Tutoring Systems, Invited talk at GECCO 2014, Genetic Programming Track (July 12-16)
Example-Based Learning in Computer-Aided STEM Education, Keynote at 5th IEEE conference on Technology for Education (T4E), Dec 2013
The Art of Invariant Generation for Symbolic Loop Bound Analysis, Invited Talk at CAV 2009
Logical Abstract Interpretation, Lectures in a class on Program Analysis and Verification at IISc-Bangalore (2007) and UCLA (2008)
Program Verification using Probabilistic Techniques, Invited Talk at Workshop on Verified Software: Tools, Techniques, and Experiments (VSTTE), Floc 2006
Random Interpretation, Smaller version of Job-interview talk, also given at UW/MSR Summer Institute on Trends in Testing: Theory, Techniques and Tools, 2004