Millions of end users today have access to programmable environments such as spreadsheets and smartphones, but lack the programming expertise to write even small scripts. These users can effectively communicate their intent using examples and natural language. Our methodology involves designing a domain-specific language (DSL), developing a synthesis algorithm for learning programs in the DSL that match the user’s (often under-specified) intent, and using machine learning to rank these programs. In this talk, I will demonstrate this methodology for various domains including spreadsheet macros, database queries, smartphone scripts, and even drawing programs.
In the second half of the talk, I will present surprising applications of this synthesis methodology in the area of intelligent tutoring systems including solution generation, problem generation, automated grading, and even structured content entry. I will demonstrate these applications for various domains including geometry, algebra, automata theory, and introductory programming. The underlying synthesizers leverage search techniques from various communities including use of SAT/SMT solvers (formal methods community), version space algebras (machine learning community), and A-style goal-directed heuristics (AI community).
Sumit Gulwani is a senior researcher at Microsoft Research, Redmond. His research interests are in the cross-disciplinary application areas of automating end-user programming (for a variety of systems such as spreadsheets, smartphones, robots), and in building intelligent tutoring systems (for K-14 math/programming/science/language subjects). He has expertise in automated programming (from examples, natural language and/or logic) and program analysis techniques. Sumit obtained his Phd in Computer Science from UC-Berkeley in 2005, and was awarded the C.V. Ramamoorthy Award (given for “outstanding contributions to a new research area in Computer Science”) and the ACM SIGPLAN Outstanding Doctoral Dissertation Award. He obtained his BTech in Computer Science and Engineering from IIT Kanpur in 2000, and was awarded the President’s Gold Medal.