Portrait of Sumit Gulwani

Sumit Gulwani

Partner Research Manager

Invited Talks

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