Software configuration management (SCM) is the discipline for controlling the evolution of software systems. The central problems of SCM are closely related to central artificial intelligence (AI) topics, such as knowledge representation (how do we represent the features of versions and components, and how does this knowledge involve in time?), configuration (how do we compose a consistent configuration from components, and how do we express constraints?), and planning (how do we construct a software product from a source configuration, and what are the features of this product?).
Although the research communities of both SCM and AI work on configuration topics, the knowledge about the mutual problems and methods is still small. We show how feature logic, a description logic with boolean operations, can be used to represent both knowledge about versions and components, as well as to infer the consistency of possible configurations and thus solve configuration problems in SCM. This interplay of knowledge representation and configuration techniques shows immediate beneficial consequences in SCM, such as the integration and unification of SCM versioning concepts. ... mehrMoreover, SCM may turn out as a playground for testing and validating new AI methods in practice.