This 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 speci cation, how d o w e get a logic program satisfying the speci cation? Logic programming provides a uniquely nice and uniform framework for program synthesis since the speci cation, 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 s y n thesis and inductive synthesis. Related issues such as correctness and veri cation as well as synthesis by informal methods are brie y presented. Our presentation is made coherent b y e m p l o ying a uni ed framework of terminology and notation, and by using the same running example for all the approaches covered. This paper thus intends to provide an assessment of existing work and a framework for future research in logic program synthesis. <
For a detailed overview of logic program synthesis, see REF .
LOGIC PROGRAM SYNTHESIS
J. LOGIC PROGRAMMING
Computer Science