Identifying the Effect of Model Modifications in State-Based Models and Systems

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.

[1]  Orest Pilskalns,et al.  Regression Testing UML Designs , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[2]  Bogdan Korel,et al.  Slicing of state-based models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[3]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[4]  Mark Harman,et al.  A post-placement side-effect removal algorithm , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[5]  Stanislaw Budkowski,et al.  An Introduction to Estelle: A Specification Language for Distributed Systems , 1987, Comput. Networks.

[6]  Bogdan Korel,et al.  Experimental Comparison of Code-Based and Model-Based Test Prioritization , 2009, 2009 International Conference on Software Testing, Verification, and Validation Workshops.

[7]  Jai-Yong Lee,et al.  A Well-Defined Estelle Specification for the Automatic Test Generation , 1991, IEEE Trans. Computers.

[8]  Bogdan Korel,et al.  Requirement-based automated black-box test generation , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[9]  Bogdan Korel,et al.  Model based regression test reduction using dependence analysis , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[10]  Stacy J. Prowell,et al.  The impact of requirements changes on specifications and state machines , 2009, Softw. Pract. Exp..

[11]  L. Apfelbaum Spec-based tests make sure telecom software works , 1997 .

[12]  Abdeslam En-Nouaary,et al.  Test development for communication protocols: towards automation , 1999, Comput. Networks.

[13]  F. Wagner VFSM executable specification , 1992, CompEuro 1992 Proceedings Computer Systems and Software Engineering.

[14]  Richard H. Carver,et al.  Use of sequencing constraints for specification-based testing of concurrent programs , 1998 .

[15]  Ferhat Khendek,et al.  Test cases selection from SDL specifications , 2001, Comput. Networks.

[16]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[17]  Lionel C. Briand,et al.  Automating regression test selection based on UML designs , 2009, Inf. Softw. Technol..

[18]  Hasan Ural,et al.  Test generation based on control and data dependencies within system specifications in SDL , 2000, Comput. Commun..

[19]  Mats Per Erik Heimdahl,et al.  On the effectiveness of slicing hierarchical state machines: a case study , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[20]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[21]  Mats Per Erik Heimdahl,et al.  Reduction and slicing of hierarchical state machines , 1997, ESEC '97/FSE-5.

[22]  Mark Harman,et al.  A theoretical and empirical study of EFSM dependence , 2009, 2009 IEEE International Conference on Software Maintenance.

[23]  P. Savage,et al.  Automated test methodology for Operational Flight Programs , 1997, 1997 IEEE Aerospace Conference.

[24]  David Harel,et al.  From Play-In Scenarios to Code: An Achievable Dream , 2000, Computer.

[25]  M. Ümit Uyar,et al.  A method enabling feasible conformance test sequence generation for EFSM models , 2004, IEEE Transactions on Computers.

[26]  Bogdan Korel,et al.  Dependence analysis in reduction of requirement based test suites , 2002, ISSTA '02.

[27]  Zafar I. Malik,et al.  An approach for selective state machine based regression testing , 2007, A-MOST '07.

[28]  Itu-T Specification and Description Language (SDL) , 1999 .

[29]  Bogdan Korel,et al.  Model-based test prioritization heuristic methods and their evaluation , 2007, A-MOST '07.

[30]  Lionel C. Briand,et al.  Automating impact analysis and regression test selection based on UML designs , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[31]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[32]  Mark Harman,et al.  Control Dependence for Extended Finite State Machines , 2009, FASE.

[33]  Gerard J. Holzmann,et al.  Design and validation of protocols , 1990 .

[34]  Mark Harman,et al.  Regression test suite prioritization using system models , 2012, Softw. Test. Verification Reliab..

[35]  A. Jefferson Offutt,et al.  Maintaining evolving component-based software with UML , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[36]  Alan Hartman,et al.  Projected state machine coverage for software testing , 2002, ISSTA '02.

[37]  Gregg Rothermel,et al.  Using component metadata to regression test component‐based software , 2007, Softw. Test. Verification Reliab..

[38]  Mark Harman,et al.  Test prioritization using system models , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[39]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.