The field of automated programming envisions a software design process where the programmer writes nondeterministic specifications of programming tasks in a domain-specific language, and a program synthesis algorithm is used to find correct implementations of these specifications. In this talk, I will describe my recent work in this area. Topics covered will include:
(1) A probabilistic approach to program synthesis where "beliefs" about missing elements in a program are refined based on examples supplied by the programmer.
(2) A method for synthesizing path-planning programs for robots that combines automated logical reasoning with continuous motion planning.
(3) An approach to synthesizing game-theoretic mechanisms, for example auctions and "selfish" routing protocols, from high-level specifications.
(4) A new constraint-based procedure for compositionally solving games on infinite graphs, with applications in the synthesis of infinite-state system software.
Swarat Chaudhuri is an assistant professor of computer science at Rice University. He is an expert on program verification and synthesis.Swarat received a bachelor's degree in computer science from the Indian Institute of Technology, Kharagpur, in 2001, and a doctoral degree in computer science from the University of Pennsylvania in 2007. He is a recipient of the National Science Foundation CAREER award, the ACM SIGPLAN Outstanding Doctoral Dissertation Award, and the Morris and Dorothy Rubinoff Dissertation Award from the University of Pennsylvania.