Title :
The Evolution of Programs: Automatic Program Modification
Author :
Dershowitz, Nachum ; Manna, Zohar
Author_Institution :
Stanford Artificial Intelligence Laboratory, Department of Computer Science, Stanford University
Abstract :
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.
Keywords :
Program debugging; program modification; program schemata; transformations; Artificial intelligence; Automatic programming; Computer languages; Computer science; Concrete; Contracts; Debugging; Mathematics; Programming profession; Recycling; Program debugging; program modification; program schemata; transformations;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.1977.231170