On The Generation And Analysis Of Program Transformations