Self Modifying Code
A program that causes changes in portions of the program itself. Self-modifying code can thus selectively store, destroy, and transform information within itself (for example, it can replace problems with simpler subproblems). This ability is the crux of intelligent adaptive behavior.