Portrait of Sumit Gulwani

Sumit Gulwani

Distinguished Scientist and Vice President

Invited Talks

  1. How I became a Storyteller (and how YOU can too!): Invited lecture at UPenn (March 2025). [abstract]
  2. Reliability of AI Reasoning: For and With Code: Invited talk at Green Workshop, MSR (March 2025).
  3. 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]
  4. AI-assisted Data Manipulation & Programming: User Experiences and Neuro-Symbolic Techniques, NSF CISE Distinguished Lecture, Oct 2024 [video]
  5. AI-assisted Programming: Applications, Experiences, and Neuro-symbolic techniques, Lectures at Marktoberdorf Summer School, Aug 2024
    • Lecture 1: Programming by Input-Output Examples [slides]
    • Lecture 2: Program suggestions based on static or temporal context [slides]
    • Lecture 3: Program Repair [slides]
    • Lecture 4: Programming by Natural Language [slides]
  6. Analogical Reasoning Engines: Flash Fill vs GPT-4, Keynote at CAV (July 2023) and SBES (Sep 2023) [video]
  7. Leveraging LLMs as Analogical Reasoning Engines to enhance Programming-by-Example experiences, Keynote at Software Engineering for ML Applications (SEMLA), June 2023 [slides]
  8. Enhancing Programming Experiences with AI: Leveraging LLMs and Beyond, Invited talk at Upper Bound, May 2023
  9. Innovating through uncertainty: Getting super curious and combining disparate elements, Invited short talk at Microsoft Leadership Forum, April 2023 [video]
  10. Art of doing disruptive research, Invited talk at India Science Festival (Jan 2023), MSRI (Jan 2023), and CBSoft (Sep 2023) [video]
  11. Future of AI: Big models or smart models, Panelist at India Science Festival, Jan 2023
  12. AI-assisted Programming: Applications, User experiences, and Neuro-symbolic perspectives, Keynote at ESEC/FSE, Nov 2022 [video]
  13. AI-assisted Programming, Keynote at IJCLR, Sep 2022 [video]
  14. AI-assisted Programming, Keynote at IJCAI-ECAI, July 2022 [video, slides]
  15. Program synthesis for Data Wrangling, Keynote at Workshop on Automating Data Science, Feb 2022
  16. AI-enabled Programming Education, Keynote at Compute Conference, Nov 2021 [video]
  17. 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
  18. New Directions in Programming by Examples, Invited talk at NeurIPS 2020 workshop on Computer-Assisted Programming, Dec 2020
  19. Program Synthesis for the Masses: A Journey of Minimalism in Specification, ICSE 2020 Most Influential Paper Award Speech, July 2020 [video]
  20. Program Synthesis for Robotic Process Automation, Keynote at IPA-20 (AAAI workshop on Intelligent Process Automation), Feb 2020
  21. Panel at UW Business x Tech Conference, Jan 2020
  22. Automated Program Generation from Input-Output Examples, HeapCon, Sep 2019 [video]
  23. Programming by Input-Output Examples, ECML-PKDD, Sep 2019 [pdf slides]
  24. Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at Facebook TAV Symposium, Nov 2018 [video]
  25. Programming by Examples, AI Frontiers conference, Nov 2018 [video]
  26. Programming by Examples, Invited lectures at Marktoberdorf Summer school, Aug 2018 [pdf]
  27. Programming by Examples: Logical Reasoning meets Machine Learning, Invited talk at NAMPI workshop, July 2018 [pdf, video]
  28. Programming from Examples: PL meets ML, Invited talk at Summit on Machine Learning meets Formal Methods, FLoC, July 2018 [pdf]
  29. Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, lectures at WSSE (Winter School in Software Engineering), Dec 2017
    • Lecture 1: Applications and DSLs for Synthesis [ppt]
    • Lecture 2: Algorithms and Ambiguity Resolution [ppt]
    • Lecture 3: Hands-on session [ppt, html]
    • Lecture 4: Miscellaneous related topics [ppt]
  30. Programming by Examples: PL meets ML, Invited talk at APLAS, Nov 2017 [pdf]
  31. Usability Design Space in Programming by Examples, Invited talk at PLATEAU, Oct 2017 [abstract, ppt]
  32. Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at PPDP, Oct 2017 [ppt]
  33. Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Colloquium at Indiana University, Sep 2017 [ppt]
  34. Programming by Examples: PL meets ML, Keynote at MAPL 2017 [ppt]
  35. Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Lectures at UPMARC Summer School, June 2017 [ppt]
  36. Programming using Examples, Tutorial at PLDI 2016 [ppt]
  37. Spreadsheet Programming using Examples, Keynote at SEMS 2016 [ppt]
  38. Programming by Examples: Applications, Algorithms, and Ambiguity Resolution, Invited talk at IJCAR 2016, June 2016
  39. Programming by Examples: Applications, Ambiguity Resolution, Approach, Lecture at UC-Berkeley, Nov 2015
  40. 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
  41. Applications of Formal Methods to Data Wrangling and Education, Keynote at CBSoft 2015
  42. Programing by Examples, Tutorial at CBSoft, Sep 2015
  43. 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
  44. Programming by Examples applied to Data Wrangling, Invited talk at SYNT 2015
  45. Data Wrangling using Programming by Examples [video], Invited talk at ECOOP, July 2015
  46. Data Manipulation using Programming by Examples and Natural Language, Distinguished Lecture Series @ UPenn (April 2015)
  47. Automating Repetitive Tasks for the Masses, Keynote at POPL 2015
  48. Cultivating Research Taste (illustrated via a journey in program synthesis research) [video], Invited talk at PLMW 2015
  49. Applications of Program Synthesis to End-User Programming and Intelligent Tutoring Systems, Invited talk at ILP 2014
  50. Problem Generation and Feedback Generation, Invited talk at ASSESS 2014
  51. Applications of Program Synthesis to End-User Programming and Intelligent Tutoring Systems, Invited talk at GECCO 2014, Genetic Programming Track (July 12-16)
  52. Example-Based Learning in Computer-Aided STEM Education, Keynote at 5th IEEE conference on Technology for Education (T4E), Dec 2013
  53. End-User Programming and Intelligent Tutoring Systems, Maryland Distinguished Colloquium, Sep 2013
  54. 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
  55. Synthesis for Computer-aided Education, ExCAPE Summer School, June 2013
  56. Distraction: Biological Synthesis, RiSE Group All-hands Meeting, April 2013
  57. Synthesis for Intelligent Tutoring Systems [video], ExCAPE Webinar Series, Jan 2013
  58. End User Programming and Intelligent Tutoring Systems, Distinguished Lecture Series at UC-Berkeley, Fall 2012
  59. Synthesis from Examples: Interaction Models and Algorithms, Invited Talk at SYNASC 2012
  60. Dimensions in Synthesis, Lectures at Summer School on Formal Methods 2012
  61. Synthesis from Examples, Keynote at WAMBSE 2012
  62. Usable Synthesis, Invited Talk at Usable Verification Workshop 2010
  63. Dimensions in Program Synthesis, Invited Tutorial at FMCAD 2010
  64. Program Synthesis for Automating Education, Keynote at AVM 2010
  65. Dimensions in Program Synthesis, Invited Talk at PPDP 2010
  66. The Fixpoint Brush in the Art of Invariant Generation, Invited Talk at WING 2010
  67. Component Based Synthesis, Dagstuhl Seminar on Software Synthesis
  68. The Reachability-Bound Problem, Invited Talk at FOPARA 2009
  69. 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
  70. The Art of Invariant Generation for Symbolic Loop Bound Analysis, Invited Talk at CAV 2009
  71. Logical Abstract Interpretation, Lectures in a class on Program Analysis and Verification at IISc-Bangalore (2007) and UCLA (2008)
  72. Program Verification using Probabilistic Techniques, Invited Talk at Workshop on Verified Software: Tools, Techniques, and Experiments (VSTTE), Floc 2006
  73. Random Interpretation, Smaller version of Job-interview talk, also given at UW/MSR Summer Institute on Trends in Testing: Theory, Techniques and Tools, 2004