Explanation-based learning for the automated reuse of programs

A new approach for software reuse is presented which allows for the efficient preparation of already available programs, so that they can be automatically reused for novel programming tasks. Explanation-based learning from programs, guided by a domain theory of the semantics of the programming language, was used to acquire skeletal programs. For that purpose, a symbolic trace is constructed as an explanation of the functioning of a program, which may contain different types of control constructs such as sequential execution, conditional execution, and recursion. Explanation-based generalization was extended to explicitly handle these different kinds of execution control which are most essential for computer programs.<<ETX>>