WHAT-IF: A Function To Estimate TheImpacts Of Potential Changes In A Software
SA Ajila, Henri Basson, J.C. Derniame · WIT transactions on information and communication technologies · 1970
Software maintenance is generally known to be time consuming and expensive. One of the main reasons for this is that it is difficult for software engineers and analysts to understand fully a software system that they did not design or implement. Even when they develop their own system, it is easy to forget the details of the design or code developed at earlier stages. Some of the questions a software engineer may want to ask when making a change are : what other parts of the software must I change if I carry out this modification? who in the developing team must be informed of this modification? what other versions or configurations of the software system must I change? The effect of changing a part of a software system depends on the item of change, type of change and environment of change. Therefore, when making a change it is necessary to analyze its impacts and keep track of the details of implementing the change. In this paper we present a model that will allow a priori, the impact analysis and propagation of objects change in a software system. Our work is primarily aimed at large software systems. WHAT-IF is a knowledge-based system. It uses an attributed multigraph to represent the structure of a software system from different points of view. The inference engine for impact analysis and change propagation is written in Prolog. Thus, the inference engine can be fired each time there is a need to evaluate the impact of a particular change.