Home Research Teaching Misc

A Software Transformation Taxonomy


Migrate code to new language

Migrate code to different version of same language

Strength reduction/Desugaring/Simplification

Porting code to different platforms
Add new code to existing code for a variety of reasons including bug checking, performance monitoring, dynamic recovery, program exploration, and code coverage.
Bug Correction
Change incorrect code, add missing code, remove redundant or dead code.
Code cleanup/improvement
Code obfuscation
Code optimisations
Program Generation/Synthesis
Generate programs from higher level specifications

Click here for a different transformation taxonomy.