Link

Video Lectures & Talks 🎥

  • POPL TutorialFest 2024 – “Machine Learning Meets Program Synthesis” – A 90-minute tutorial by NathanaĂ«l Fijalkow (available on YouTube) that took place at POPL 2024 (Machine Learning Meets Program Synthesis - POPL 2024). It provides an overview of how machine learning techniques are being combined with traditional synthesis. The talk covers concepts like training neural networks to prioritize program search, using large language models to suggest program candidates, and the remaining challenges. It’s a current and comprehensive tutorial for those interested in the ML/Synthesis intersection.
  • Deductive Program Synthesis Tutorial (PLDI 2021) – Nadia Polikarpova (UCSD) and Shachar Itzhaky (Technion) gave an introduction to deductive program synthesis, with an emphasis on synthesis from logical specifications. The recorded tutorial (in two parts, on YouTube) starts from the basics of Hoare logic and gradually shows how to synthesize code that meets a formal spec (An Intro to Program Synthesis - YouTube) (Tutorial on Deductive Program Synthesis Part 2 - YouTube). They use examples like sorting algorithms and show how a synthesizer can be seen as a proof search. This is an excellent resource to learn the theory behind tools like Synquid or classic deductive approaches.
  • “Type-Driven Program Synthesis” (Polikarpova – 2018) – A conference talk where Nadia Polikarpova explains the idea of synthesizing programs with the help of type information (“Type-Driven Program Synthesis” by Nadia Polikarpova - YouTube). She discusses Synquid and related work, in an accessible manner. The video (on YouTube) is about 30 minutes and is a good companion to reading her POPL paper. Seeing the author explain it can clarify how the algorithm works and what the key insights are.
  • Microsoft Research Podcast: Programming by Intent – An interview with Dr. Sumit Gulwani (episode 99, 2019) where he talks about the motivation and impact of programming-by-example and program synthesis in general. It’s available in audio form (and often on YouTube as well) (Program synthesis and the art of programming by intent with Dr …). Gulwani shares stories of how Flash Fill came to be, and how the PROSE framework is being applied to domains like education. This talk is less technical and more about the vision, so it’s inspiring for understanding why program synthesis matters.
  • Conference Keynotes: Several conference keynotes related to program synthesis are worth watching (often available online). For example, Rajeev Alur’s keynote on SyGuS (summarizing progress in constraint-based synthesis), Armando Solar-Lezama’s keynote on the future of program synthesis (discussing the synergy with machine learning), and Peter Norvig’s talks on using AI to help programmers. These talks tend to synthesize (no pun intended) a lot of research into a coherent story. Check the websites of POPL, PLDI, CAV, or SPLASH for keynote videos in recent years – many revolve around automation in programming.
  • YouTube Channels & Playlists: There are playlists such as “Program Synthesis Lectures” from university courses (some instructors record their lectures). For instance, the UW PLSE group channel has guest lectures on synthesis, and Stanford’s CS257 (2019) had recorded lectures on component-based synthesis and superoptimization. Additionally, the “Advanced Intelligent Systems” lecture series by MSR (2016) included a day on Neural Program Synthesis (Advanced Machine Learning Day 3: Neural Program Synthesis). These can be found by searching on YouTube or video lecture portals. They provide classroom-style coverage, which can complement reading papers with more step-by-step explanations.