Abstract
Depending on the phase in which they come up, changes induce modifications on various software models and may cause model quality deterioration-e.g., incoherence among models, increased complexity. To handle efficiently model changes, every software development project must have a means to manage the impact of every change in one model on the remaining models. Toward this end, we herein present an automated approach that analyzes the effects of changes on the different software models, while considering their impact on the models' quality. Our approach adopts a graph-based traceability technique to identify change impact in terms of the necessary updates the relevant models must undergo to remain coherent, and the effects of the change/updates on the quality of the resulting models. It uses intra and inter UML diagrams' dependencies, best-practice guidelines, and a set of quality metrics. Evaluated quantitatively on three cases, our approach showed an average precision of 0.88 and recall of 0.95 in identifying the impacts of different types of changes.