Program Transformation

A program transformation is virtually any operation that swallows a computer program as well as generates another program. In many conditions the transformed program needs to be semantically equal to the original, relative to a particular elegant semantics and inside fewer cases the transformations lead to programs that semantically alter from the original inside predictable ways.