Identifying the Effect of Model Modifications in State-Based Models and Systems - Tahat, Luay; Almasri, Nada (Journal of Advanced Computer Science & Technology, 2012)
System modeling is a widely used technique to model state-based systems. System models are often used during the development of a software system, e.g., in partial code generation and in test generation. Several modeling languages have been developed to model state-based software systems, e.g., EFSM, SDL, and State Charts. Although state-based modeling is very useful, system models are usually large and complex, and they are frequently modified because of specification changes. Identifying the effect of these changes on the model and consequently on the underlying system is usually challenging and time-consuming. In this paper, we present an approach to automatically identify the effect of modifications made to the model. The goal is to identify those parts of the model that may exhibit different behaviors because of the modification. These are usually critical parts of the system that should be carefully tested. In this approach, the difference between the original model and the modified model is identified, and then the affected parts of the model are computed based on model dependence analysis. An empirical study on different EFSM models is performed in order to identify the affected parts of the model after a modification. The results of the study suggest that our approach could considerably reduce the amount of time and efforts the spent to validate the model after a modification.