Invited Talks
- Human-AI Collaboration, Plenary talk at Bonn Humboldt Award Winner’s Forum on The “what, how, and why” of AI, Oct 2025.
- Human-AI Collaboration, Keynote at VL/HCC, Oct 2025.
- Improving AI Reasoning through Intent, Interaction, and Inspection, AI Reasoning Day @ KDD, Aug 2025.
- How Teachers, not Tools, will shape AI in Education: A call to Play, Experiment, and Lead Together. Invited address to 4000 teachers at CMS Teachers Thanksgiving Function (May 2025) [video (opens in new tab)]
- How I became a Storyteller (and how YOU can too!): Invited lecture at UPenn (March 2025) and talk at MSR (July 2025) [video (opens in new tab)]
- Reliability of AI Reasoning: For and With Code: Invited talk at Green Workshop, MSR (March 2025).
- Program Synthesis: Applications, Experiences, and Neuro-symbolic techniques, Invited talk at IPAM workshop (Nov 2024) and at Shonan Seminar on Automated Programming (Jan 2025) [video (opens in new tab)]
-
AI-assisted Data Manipulation & Programming: User Experiences and Neuro-Symbolic Techniques, NSF CISE Distinguished Lecture, Oct 2024 [video (opens in new tab)]
- AI-assisted Programming: Applications, Experiences, and Neuro-symbolic techniques, Lectures at Marktoberdorf Summer School, Aug 2024
- Analogical Reasoning Engines: Flash Fill vs GPT-4, Keynote at CAV (opens in new tab) (July 2023) and SBES (opens in new tab) (Sep 2023) [video (opens in new tab)]
- Leveraging LLMs as Analogical Reasoning Engines to enhance Programming-by-Example experiences, Keynote at Software Engineering for ML Applications (SEMLA (opens in new tab)), June 2023 [slides (opens in new tab)]
- 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 (opens in new tab)]
- Art of doing disruptive research, Invited talk at India Science Festival (opens in new tab) (Jan 2023), MSRI (Jan 2023), and CBSoft (Sep 2023) [video (opens in new tab)]
- Future of AI: Big models or smart models, Panelist at India Science Festival (opens in new tab), Jan 2023
- AI-assisted Programming: Applications, User experiences, and Neuro-symbolic perspectives, Keynote at ESEC/FSE (opens in new tab), Nov 2022 [video (opens in new tab)]
- AI-assisted Programming, Keynote at IJCLR (opens in new tab), Sep 2022 [video (opens in new tab)]
- AI-assisted Programming, Keynote at IJCAI-ECAI (opens in new tab), July 2022 [video (opens in new tab), slides (opens in new tab)]
- Program synthesis for Data Wrangling, Keynote at Workshop on Automating Data Science (opens in new tab), Feb 2022
- AI-enabled Programming Education, Keynote at Compute Conference (opens in new tab), Nov 2021 [video (opens in new tab)]
- The Story of Flash Fill and (how it shaped) me [30-minute talk (opens in new tab)] and The actors behind Flash Fill [5-minute speech (opens in new tab)], POPL 2021 Most Influential Award, Jan 2021
- New Directions in Programming by Examples, Invited talk at NeurIPS 2020 workshop on Computer-Assisted Programming (opens in new tab), 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 (opens in new tab) (AAAI workshop on Intelligent Process Automation), Feb 2020
- Panel at UW Business x Tech Conference (opens in new tab), Jan 2020
- Automated Program Generation from Input-Output Examples, HeapCon, Sep 2019 [video (opens in new tab)]
- Programming by Input-Output Examples, ECML-PKDD (opens in new tab), Sep 2019 [pdf slides (opens in new tab)]
- Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at Facebook TAV Symposium (opens in new tab), Nov 2018 [video (opens in new tab)]
- Programming by Examples, AI Frontiers conference (opens in new tab), Nov 2018 [video (opens in new tab)]
- Programming by Examples, Invited lectures at Marktoberdorf Summer school (opens in new tab), Aug 2018 [pdf (opens in new tab)]
- Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at NAMPI workshop (opens in new tab), July 2018 [pdf (opens in new tab), video (opens in new tab)]
- Programming from Examples: PL meets ML, Invited talk at Summit on Machine Learning meets Formal Methods (opens in new tab), FLoC, July 2018 [pdf (opens in new tab)]
- Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, lectures at WSSE (Winter School in Software Engineering) (opens in new tab), Dec 2017
- Lecture 1: Applications and DSLs for Synthesis [ppt]
- Lecture 2: Algorithms and Ambiguity Resolution [ppt]
- Lecture 3: Hands-on session [ppt, html (opens in new tab)]
- Lecture 4: Miscellaneous related topics [ppt]
- Programming by Examples: PL meets ML, Invited talk at APLAS (opens in new tab), Nov 2017 [pdf]
- Usability Design Space in Programming by Examples, Invited talk at PLATEAU (opens in new tab), Oct 2017 [abstract, ppt]
- Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at PPDP (opens in new tab), 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 (opens in new tab) [ppt]
- Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Lectures at UPMARC Summer School (opens in new tab), June 2017 [ppt]
- Programming using Examples, Tutorial at PLDI 2016 [ppt]
- Spreadsheet Programming using Examples, Keynote at SEMS 2016 (opens in new tab) [ppt]
- Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at IJCAR 2016 (opens in new tab), 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 (opens in new tab)
- 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 (opens in new tab)
- Data Wrangling using Programming by Examples [video (opens in new tab)], 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 (opens in new tab)], 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
- End-User Programming and Intelligent Tutoring Systems, Maryland Distinguished Colloquium, Sep 2013
- Program Synthesis, Lectures at Marktoberdorf Summer School, Aug 2013
- Part 1: From Verification to Synthesis
- Part 2: End-User Programming using Examples and Natural language
- Part 3: Computer-aided Education
- Synthesis for Computer-aided Education, ExCAPE Summer School, June 2013
- Distraction: Biological Synthesis, RiSE Group All-hands Meeting, April 2013
- Synthesis for Intelligent Tutoring Systems [video], ExCAPE Webinar Series, Jan 2013
- End User Programming and Intelligent Tutoring Systems, Distinguished Lecture Series at UC-Berkeley, Fall 2012
- Synthesis from Examples: Interaction Models and Algorithms, Invited Talk at SYNASC 2012
- Dimensions in Synthesis, Lectures at Summer School on Formal Methods 2012
- Synthesis from Examples, Keynote at WAMBSE 2012
- Usable Synthesis, Invited Talk at Usable Verification Workshop 2010
- Dimensions in Program Synthesis, Invited Tutorial at FMCAD 2010
- Program Synthesis for Automating Education, Keynote at AVM 2010
- Dimensions in Program Synthesis, Invited Talk at PPDP 2010
- The Fixpoint Brush in the Art of Invariant Generation, Invited Talk at WING 2010
- Component Based Synthesis, Dagstuhl Seminar on Software Synthesis
- The Reachability-Bound Problem, Invited Talk at FOPARA 2009
- Art of Invariant Generation applied to Symbolic Bound Computation [Lecture 1(pdf, video)], [Lecture 2(pdf, video)], [Lecture 3(pdf, video)], [Assignment (pdf)], Lectures at Oregon Summer School 2009
- 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