Programming Cliches and Cliche Extraction
This paper is a revision of an earlier Bachelor's thesis.
The programmer's apprentice (PA) is an automated program development tool. The PA depends upon a library of common algorithms (cliches) as the source of its knowledge about programming. The PA can be made more usable if programmers not familiar with its implementation can add programming knowledge to the PA's library. This paper describes cliches and a technique for adding them to the library. Because cliches often do not correspond to complete code, the library can not simply be a collection of programs. Instead, a plan representation is used. The approach taken for adding knowledge to the library is one of cliche extraction. A program containing a particular cliche is converted to its plan. The plan is pruned, with the results of the pruned plan being displayed in a code-like form. Eventually, only the cliche remains. The cliche is then added to the library.