6.5130
Introduction to Program Synthesis
Provides a comprehensive introduction to the field of software synthesis, an emerging field that sits at the intersection of programming systems, formal methods, and artificial intelligence. The subject is structured into three major sections. The first focuses on program induction from examples and covers a variety of techniques to search large program spaces. The second focuses on synthesis from expressive specifications and the interaction between synthesis and verification. Finally, the third focuses on synthesis with quantitative specifications and the intersection between program synthesis and machine learning.
Prerequisites & course information
Prereq: 6.1010 and 6.1200[J] Acad Year 2027-2028: G (Fall) Acad Year 2028-2029: Not offered 3-0-9 units
Sources
- Course catalogue ↗2026–2027