  The approach based on paradigm of self-organized criticality proposed for
experimental investigation and theoretical modelling of software evolution. The
dynamics of modifications studied for three free, open source programs Mozilla,
Free-BSD and Emacs using the data from version control systems. Scaling laws
typical for the self-organization criticality found. The model of software
evolution presenting the natural selection principle is proposed. The results
of numerical and analytical investigation of the model are presented. They are
in a good agreement with the data collected for the real-world software.
