Home Research Teaching Misc

A Software Transformation Taxonomy

Translation

Migrate code to new language

Migrate code to different version of same language

Strength reduction/Desugaring/Simplification

Porting code to different platforms
Instrumentation
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.
Restructuring
Code cleanup/improvement
Code obfuscation
Code optimisations
Deobfuscation
Program Generation/Synthesis
Generate programs from higher level specifications

Click here for a different transformation taxonomy.