Invited Talks
- Program Synthesis: Applications, Experiences, and Neuro-symbolic techniques, Invited talk at IPAM workshop, Nov 2024 [video]
-
AI-assisted Data Manipulation & Programming: User Experiences and Neuro-Symbolic Techniques, NSF CISE Distinguished Lecture, Oct 2024 [video]
- 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 (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]
- Future of AI: Big models or smart models, Panelist at India Science Festival, Jan 2023
- AI-assisted Programming: Applications, User experiences, and Neuro-symbolic perspectives, Keynote at ESEC/FSE, Nov 2022 [video]
- AI-assisted Programming, Keynote at IJCLR, Sep 2022 [video]
- AI-assisted Programming, Keynote at IJCAI-ECAI, July 2022 [video, slides]
- Program synthesis for Data Wrangling, Keynote at Workshop on Automating Data Science, Feb 2022
- AI-enabled Programming Education, Keynote at Compute Conference, Nov 2021 [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
- Panel at UW Business x Tech Conference, Jan 2020
- Automated Program Generation from Input-Output Examples, HeapCon, Sep 2019 [video]
- Programming by Input-Output Examples, ECML-PKDD, Sep 2019 [pdf slides]
- Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at Facebook TAV Symposium, Nov 2018 [video]
- Programming by Examples, AI Frontiers conference, Nov 2018 [video]
- Programming by Examples, Invited lectures at Marktoberdorf Summer school, Aug 2018 [pdf]
- Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at NAMPI workshop, July 2018 [pdf, video]
- Programming from Examples: PL meets ML, Invited talk at Summit on Machine Learning meets Formal Methods, FLoC, July 2018 [pdf]
- Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, lectures at WSSE (Winter School in Software Engineering), Dec 2017
- 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
- 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