AbstractThis paper presents an overview and a survey of logic program synthesis. Logic program synthesis is interpreted here in a broad way; it is concerned with the following question: given a specification, how do we get a logic program satisfying the specification? Logic programming provides a uniquely nice and uniform framework for program synthesis since the specification, the synthesis process, and the resulting program can all be expressed in logic.Three main approaches to logic program synthesis by formal methods are described: constructive synthesis, deductive synthesis, and inductive synthesis. Related issues such as correctness and verification, as well as synthesis by informal methods, are briefly presented.Our presentation is m...