Issue No.06 - November (1977 vol.3)
N. Dershowitz , Stanford Artificial Intelligence Laboratory, Department of Computer Science, Stanford University
An attempt is made to formulate techniques of program modification, whereby a given program that achieves one goal can be transformed into a new program that uses the same principles to achieve a different goal. For example, a program that uses the binary search paradigm to calculate the square root of a number may be modified to divide two numbers in a similar manner, or vice versa. The essence of the approach is to find an analogy between the specifications of the given and desired programs, and then to transform the given program accordingly.
transformations, Program debugging, program modification, program schemata
N. Dershowitz, Z. Manna, "The Evolution of Programs: Automatic Program Modification", IEEE Transactions on Software Engineering, vol.3, no. 6, pp. 377-385, November 1977, doi:10.1109/TSE.1977.231170