Issue No.02 - February (1975 vol.24)
A.W. Biermann , Department of Computer Science, Duke University
An algorithm is given for synthesizing a computer program from a trace of its behavior. Since the algorithm involves a search, the length of time required to do the synthesis of nontrivial programs can be quite large. Techniques are given for preprocessing the trace information to reduce enumeration, for pruning the search using a failure memory technique, and for utilizing multiple traces to the best advantage. The results of numerous tests are given to demonstrate the value of the techniques.
Computation trace, finite-state machine synthesis, incompletely specified machines, inference, learning, program synthesis, program trace, tree searching.
A.W. Biermann, R.I. Baum, F.E. Petry, "Speeding up the Synthesis of Programs from Traces", IEEE Transactions on Computers, vol.24, no. 2, pp. 122-136, February 1975, doi:10.1109/T-C.1975.224180