Abstract

When minor modifications need to be made in an object-oriented computer program, they often incur further more changes due to presence of dependency in the codes and the
program structure. Yet, to accommodate the required change, there can also be more than one option to carry out the initial modifications. To select the modification option in this context, this thesis proposes a systematic approach to estimate the scope of change propagation of an object-oriented program given some initial modifications.
The present Master’s thesis seeks to develop an approach to predict the scope of propagated change through the entities of object-oriented software due to a modification in the software. Despite the previous works that just studied the change propagation in object oriented programs from the aspect of high level entities like classes or from the
aspect of UML diagrams, we have studied the finer entities of the object oriented program and the relationships among them. In this regard, this thesis has focused on the
calculation of probability of change propagation between each two specific types of entities through the analysis of dependency types among the fundamental entities of
object-oriented program and categorization of existing dependencies between each couple of entities. Then, we have defined the priority number concept as a representative scale for the scope of change propagation in software based on the probability rules.
The strategy is to first capture the dependency relationships of the entities, pertaining to an object-oriented program via the matrix representation. In this work, we have used Design Structure Matrix to capture and trace dependency among software’s entities.
Based on this matrix-based model, the priority number method is proposed and applied to estimate the scope of change propagation by assuming some initial modifications. The core of this method is to estimate the chance of affecting other program entities due to some modified entities and the matrix structure.
Finally, the obtained results from a case study have been tested to validate the effectiveness of the change propagation probability numbers and priority number
concept.