Abstract

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 spent to validate the model after a modification.

Highlights

  • The demand for large and complex software systems has been steadily increasing over time

  • System models are often used during the development of a software system, mainly in partial code generation and in test generation for model-based testing

  • We extended the concept of program control dependence to the Extended Finite State Machines (EFSM) model [9]

Read more

Summary

Introduction

The demand for large and complex software systems has been steadily increasing over time. Several new technologies have emerged, which have made a significant impact on new ways of software development One of these technologies is a development of modeling techniques to model state-based software systems. Several modeling languages have been developed to model state-based software systems such as: State Charts [19, 11, 12, 13], Extended Finite State Machines (EFSM) [20, 14, 15], Specification Description Language (SDL) [21, 16, 15], Virtual Finite State Machine (VFSM) [18], and ESTELLE [19]. We present an approach of identifying the effect of model-based modifications.

State-Based modeling
Model dependencies
Data dependence
Control dependence
Model dependence graph
Effect of modifications
Identifying affecting transitions
Identifying affected transitions
Algorithm to compute affected and affecting transitions
Empirical study
Related research
Findings
Conclusion and future work

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.