Towards Stepwise, Schema-guided Synthesis of Logic Programms

We present a general strategy for stepwise, sound and progressive synthesis of logic programs from specifications by examples and properties. We particularize this to schema-guided synthesis, and state a generic synthesis theorem. We justify some design choices for the development of a particular synthesis mechanism that is guided by a Divide-and-Conquer schema, is inductive and deductive, is interactive, and features a non-incremental presentation of examples. Some crucial steps of this mechanism are explained, and illustrated by a sample synthesis. We draw some conclusions on our results so far, state some related work, and outline future research directions.

[1]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[2]  Jerome A. Feldman Automatic programming. , 1972 .

[3]  Alan Bundy,et al.  The Synthesis of Logic Programs from Inductive Proofs , 1990 .

[4]  Ralph Grishman,et al.  Program debugging , 1974, AFIPS '74.

[5]  Alan W. Biermann,et al.  Automatic Program Construction Techniques , 1984 .

[6]  Douglas R. Smith,et al.  Top-Down Synthesis of Divide-and-Conquer Algorithms , 1985, Artif. Intell..

[7]  Alan W. Biermann,et al.  A Production Rule Mechanism for Generating LISP Code , 1979, IEEE Transactions on Systems, Man, and Cybernetics.

[8]  Phillip D. Summers,et al.  A Methodology for LISP Program Construction from Examples , 1977, J. ACM.

[9]  Laurent Fribourg,et al.  Extracting Logic Programs from Proofs that Use Extended Prolog Execution and Induction , 1990, ICLP.

[10]  Pierre Flener,et al.  Towards Programming by Examples and Properties , 1991 .

[11]  Patricia C. Goldberg,et al.  Automatic Programming , 1974, Programming Methodology.

[12]  Alan W. Biermann,et al.  Induction of schemata for program synthesis , 1990 .

[13]  Yves Deville,et al.  Logic programming - systematic program development , 1990, International series in logic programming.

[14]  S T Gegg-Harrison Basic Prolog Schemata , 1989 .

[15]  Edsger W. Dijkstra,et al.  Formal Development of Programs and Proofs , 1990 .

[16]  Christopher J. Hogger,et al.  Derivation of Logic Programs , 1981, JACM.

[17]  Zohar Manna,et al.  Synthesis: Dreams - Programs , 1979, IEEE Trans. Software Eng..