login

Programs, life cycles, and laws of software evolution

Proceedings of the IEEEPublished 1 January 1980
M. M. Lehman
Citations1,166
SJR quartileQ1
SJR score6.25
SNIP11.38

TL;DR

By classifying programs according to their relationship to the environment in which they are executed, the paper identifies the sources of evolutionary pressure on computer applications and programs and shows why this results in a process of never ending maintenance activity.

Abstract

By classifying programs according to their relationship to the environment in which they are executed, the paper identifies the sources of evolutionary pressure on computer applications and programs and shows why this results in a process of never ending maintenance activity. The resultant life cycle processes are then briefly discussed. The paper then introduces laws of Program Evolution that have been formulated following quantitative studies of the evolution of a number of different systems. Finally an example is provided of the application of Evolution Dynamics models to program release planning.

Keywords

Computer Science