Guidelines for using SR
Particularly in situations where older programming languages are used, begin by looking for the occurrence of modern control structures implemented by more primitive constructs (representation)
Likewise, look for the use of primitive data structures to represent unavailable ones (representation)
It may sometimes be necessary to reconfigure the control flow of the program to increase structure (representation)
Look for special cases; that is, look for similar sections of code that differ only in a small number of ways. Replace these by the parameterized use of a more abstract construct (generalization)