Self-organization process in open-source software: An empirical study
Information and Software Technology
Characterizing software architecture changes: A systematic review
Information and Software Technology
The Linux kernel as a case study in software evolution
Journal of Systems and Software
Perpetual development: A model of the Linux kernel life cycle
Journal of Systems and Software
Open Source Software Systems: Understanding Bug Prediction and Software Developer Roles
International Journal of Open Source Software and Processes
Hi-index | 0.00 |
The evolvability of a software artifact is its capacity for producing heritable or reusable variants; the inverse quality is the artifact's inertia or resistance to evolutionary change. Evolvability in software systems may arise from engineering and/or self-organising processes. We describe our 'Conditional Growth' simulation model of software evolution and show how it can be used to investigate evolvability from a self-organisation perspective. The model is derived from the Bak-Sneppen family of 'self-organised criticality' simulations. It shows good qualitative agreement with Lehman's 'laws of software evolution' and reproduces phenomena that have been observed empirically. The model suggests interesting predictions about the dynamics of evolvability and implies that much of the observed variability in software evolution can be accounted for by comparatively simple self-organising processes.