“Do What I Mean”: The History of AI and Program Synthesis
Session Abstract
We think of generating source code from a prompt as an AI-powered feature of modern IDEs, but the general problem has a rich history in research efforts and domain-specific programming systems. In this session, you’ll learn about the history of program synthesis, its relationship to the history of AI, and what lessons this history has for us today.
Session Description
Many programmers today rely on an AI-powered assistant in their editor, and many savvy users of language models have observed that LLMs are often better at writing code to solve a problem than at reasoning directly. However, relatively few developers know that generating correct programs from human specifications has been an active research area for over fifty years.
In this session, you’ll learn about the fascinating history of this cross-disciplinary effort and see how it brings together topics from statistical machine learning, classical symbolic AI, programming language theory, program verification, and combinatorial search. We’ll cover fundamental approaches, challenges, and historically-important applications; we’ll also show some interesting parallels between the history of AI systems and the history of program synthesis. We’ll conclude with vital lessons from the history of program synthesis that can inform how we should build tomorrow’s coding assistants — and how we can better use the ones available to us today.