System synthesis refers to the task of automatically generating an executable component of a system (e.g. a software or hardware component) from a specification of the component's behavior. The traditional formalization of the problem assumes the specification is given by a logical formalism. The computational problem is typically intractable. Recent trends to system synthesis relax the problem definition and consider a variety of inputs including logical requirements, incomplete programs, and examples behaviors. In this talk I will describe some of the challenges on the road to usable synthesis, a variety of current approaches for coping with them, and some success stories.
Dana Fisman is a research scientist at UPenn, working in the area of formal verification.