AI-assisted Programming: Applications, Experiences, and Neuro-symbolic techniques
Speaker: Sumit Gulwani – Redmond, WA, United StatesTopic(s): Human Computer Interaction , Artificial Intelligence, Machine Learning, Computer Vision, Natural language processing , Software Engineering and Programming , Society and the Computing Profession
Abstract
AI can enhance programming experiences for a diverse set of programmers. This includes professional developers and data scientists who require assistance in software engineering and data wrangling, spreadsheet users who need help authoring formulas, and students seeking guidance on programming homework. Users can express their intent explicitly through input-output examples or natural language specifications, or implicitly by presenting bugs or recent code edits.
The task of synthesizing an intended program snippet from the user’s intent is both a search and a ranking problem. Search is required to discover candidate programs that correspond to the (often ambiguous) intent, and ranking is required to pick the best program from multiple plausible alternatives. This creates a fertile playground for combining symbolic-reasoning techniques, which can model the semantics of programming operators, and machine-learning techniques, which can model human preferences in programming. The emergence of large language models (LLMs), as a very powerful general-purpose tool and especially for programming tasks, have been a boon to this field. While LLMs are not very precise by themselves, they provide a very flexible surface for implementing a variety of cognitive strategies that enable construction of more robust neuro-symbolic AI systems.
Finally, a few critical requirements in AI-assisted programming are usability, precision, and trust; and they create opportunities for innovative user experiences and interactivity paradigms. In this talk, I will explain these concepts using some existing successes, including the Flash Fill feature in Excel, Data Connectors in PowerQuery, IntelliCode Suggestions in Visual Studio, and more recently various programming agents in Microsoft CoPilots. I will also describe several new opportunities in AI-assisted programming, which can drive the next set of foundational neuro-symbolic advances.
About this Lecture
Number of Slides: ~75Duration: 60 minutes
Languages Available: English
Last Updated:
Request this Lecture
To request this particular lecture, please complete this online form.
Request a Tour
To request a tour with this speaker, please complete this online form.
All requests will be sent to ACM headquarters for review.