A knowledge-based framework for software evolution control
Adeel Ahmad, Henri Basson, Laurent Deruelle, Mourad Bouneffa · INFORSID · 2009
An exhaustive software description is required for better understanding and analysis of different impacts of intended change. A change applied on a software artefact can propagate its impact on several other components of whole system. This impact can be considered from structural, qualitative, functional, logical, or behavioural point of view. In this article, we describe a Knowledge-Based System encompassing a large set of knowledge describing exhaustively software application targeted by change. This knowledge set is built in reference to a proposed Generic Software Model for Software Evolution. As a knowledge- based system, it manages a rule repository of application knowledge (Fact-Base) in interaction with a Rule-Base aiming at including rules destined to better handling of the future changes. A framework for better change impact analysis of software applications is first generally presented to demonstrate afterwards in detail how it can be used to control change impact propagation throughout different links between concerned software artefacts. RESUME. Une description exhaustive de logiciels est necessaire pour une meilleure comprehension et une analyse des differents impacts des modifications. Une modification appliquee sur un artefact logiciel peut propager son impact sur plusieurs autres composants de l'ensemble du systeme. Cet impact peut etre considere d'un point de vue structurel, qualitatif, fonctionnel, logique, ou comportemental. Dans cet article, nous decrivons un systeme a base de connaissances qui englobe un large ensemble de connaissances decrivant de facon exhaustive les applications logicielles visees par le changement. Cet ensemble est construit en reference a un modele generique pour l'evolution des logiciels. En tant que systeme a base de connaissances, il gere un repertoire de regles relatives a l'application en cours (Fact-Base), en interaction avec une base des regles incluant celles destinees a la gestion des futurs changements. Un cadre pour une meilleure analyse de l'impact des changements de logiciels est d'abord globalement presente, il est ensuite demontre en detail comment il peut etre utilise pour le controle de la propagation de l'impact des modifications a travers les differents liens existant entre les artefacts logiciels concernes par le changement en cours.