4. The method of claim 3 wherein each coding style template is defined with a target syntax element type, one or more coding style placeholders, and a coding style-abstraction function.
4. The method of claim 3 wherein each coding style template is defined with a target syntax element type, one or more coding style placeholders, and a coding style-abstraction function. 5. The method of claim 4 further comprising applying at least one template to the source code of the program to obtain one or more abstract coding styles.