Slicing of state-based models

System modeling is a widely used technique to model state-based systems. Several state-based languages are used to model such systems, e.g., EFSM (extended finite state machine), SDL (specification description language) and state charts. Although state-based modeling is very useful, system models are frequently large and complex and are hard to understand and modify. Slicing is a well-known reduction technique. Most of the research on slicing is code-based. There has been limited research on specification-based slicing and model-based slicing. In this paper, we present an approach to slicing state-based models, in particular EFSM models. Our approach automatically identifies the parts of the model that affect an element of interest using EFSM dependence analysis. Slice reduction techniques are then used to reduce the size of the EFSM slice. Our experience with the presented slicing approach showed that significant reduction of state-based models could be achieved.

[1]  M. Stephenson,et al.  Using advanced tools to automate the design, generation and execution of formal qualification testing , 1996, Conference Record. AUTOTESTCON '96.

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

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

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

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

[6]  Siddhartha R. Dalal,et al.  Model-based testing in practice , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  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).

[8]  Jianjun Zhao,et al.  Applying slicing technique to software architectures , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

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

[10]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[11]  B. Korel Computation of Dynamic Program Slices for Unstructured Programs , 1997, IEEE Trans. Software Eng..

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

[13]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

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

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

[16]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

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

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

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

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

[21]  Rajiv Gupta,et al.  An approach to regression testing using slicing , 1992, Proceedings Conference on Software Maintenance 1992.

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

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

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

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

[26]  Tornohiro ODA,et al.  Specification slicing in formal methods of software development , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.

[27]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

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

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