Laws of Program EvolutionProgram Evolution: Processes of Software Change(Lehman & Belady)
“A large program that is used undergoes continuing change or becomes progressively less useful.”
- Analogies to biological evolution have been made; the rate of change in software is far faster
P-type programs
- Well-defined, precisely specified
- The challenge is efficient implementation
- Ex: sort
E-type programs
- Ill-defined, fit into an ever-changing environment
- The challenge is managing change