Abstract
Three transformation techniques to generate and test logic programs are presented. The key idea in transforming such programs is that the tester should prune incorrect search trees by interleaving testers into generators immediately after the testers become active. For this purpose, mode input-output analysis makes it possible to avoid useless computations. The basic idea is to replace the test made on output parameters by a test of input parameters and to rearrange the atoms in the body of clauses.< >