Automatic insertion of indexing instructions in program synthesis

A algorithm is described for creating a computer program from a trace of an example calculation which may omit certain indexing operations. The technique is designed to be used in an interactive programming system that allows a user to work example computations at a display console in scratchpad fashion and that automatically synthesizes a program which can do the computations. A number of programs are given that the algorithm was used to synthesize. Finally, it is shown that this approach yields a technique for synthesizing certain computer programs from input-output information only.

[1]  Alan W. Biermann,et al.  Approaches to Automatic Programming , 1976, Adv. Comput..

[2]  Terry Winograd,et al.  Breaking the complexity barrier again , 1973, SIGPLAN '73.

[3]  E. Blum,et al.  A programming language , 1899, AIEE-IRE '62 (Spring).

[4]  Richard C. T. Lee,et al.  An improved program-synthesizing algorithm and its correctness , 1974, CACM.

[5]  J. T. Schwartz Automatic and semiautomatic optimization of SETL , 1974 .

[6]  Richard C. T. Lee,et al.  PROW: A Step Toward Automatic Program Writing , 1969, IJCAI.

[7]  Alan W. Biermann,et al.  Constructing Programs from Example Computations , 1976, IEEE Transactions on Software Engineering.

[8]  Steve Hardy,et al.  Synthesis Of LISP Functions From Examples , 1975, IJCAI.

[9]  Zohar Manna,et al.  Toward automatic program synthesis , 1971, Symposium on Semantics of Algorithmic Languages.

[10]  Robert Balzer A Gobal View of Automatic Programming , 1973, IJCAI.

[11]  J. Earley High level operations in automatic programming , 1974, SIGPLAN Symposium on Very High Level Languages.

[12]  Terry Winograd,et al.  Breaking the complexity barrier again , 1973, SIGPLAN '73.

[13]  David R. Barstow,et al.  Progress report on program-understanding systems. , 1974 .

[14]  Alan W. Biermann,et al.  On the Inference of Turing Machines from Sample Computations , 1972, Artif. Intell..

[15]  Jack R. Buchanan,et al.  A study in automatic programming. , 1974 .

[16]  Frederick Eugene Petry Program inference from example computations represented by memory snapshot traces. , 1975 .

[17]  Alan W. Biermann,et al.  Speeding up the Synthesis of Programs from Traces , 1975, IEEE Transactions on Computers.

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

[19]  David E. Shaw,et al.  Inferring LISP Programs From Examples , 1975, IJCAI.