ABSTRACT

Chapter Summary We move on now from the maintenance of the function of the system’s code (considered in Chapter 2 and Chapter 3), and of the functionality of the application (considered in Chapter 4), to the evolution of the system’s code and a sequence of system releases. Software configuration management (SCM) is “the discipline of controlling the evolution of complex software systems” [18]. SCM tools [5,18] are commonly used in industry to manage software changes, especially to support evolution. SCMs store the history of component versions and their configurations, created in the response to evolutionary changes. Each system release is a configuration of component versions stored in an SCM repository.