Creating adaptive sequences with genetic algorithms to reach a certain state in a non-deterministic FSM

This paper aims to construct an evolutionary system, based on genetic algorithms, to solve the problem of univocally reaching a target state in a non-deterministic Finite State Machine. Our approach proposes the creation of an adaptive sequence, which is a tree of input and outputs that contains the possible behaviors of the non-deterministic Finite State Machine, through a Genetic Algorithm. Essentially, we will characterize the DNA of the individuals as an adaptive sequence and allow the population to evolve until a solution is found. To assure the validity of our approach, we compare it with other methodologies such as hillclimbing and random. We show that the Genetic Algorithm obtains a higher rate of success in creating the adaptive sequences.

[1]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[2]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[3]  Robert M. Hierons,et al.  Testing from a nondeterministic finite state machine using adaptive state counting , 2004, IEEE Transactions on Computers.

[4]  Robert M. Hierons,et al.  Adaptive Testing of a Deterministic Implementation Against a Nondeterministic Finite State Machine , 1998, Comput. J..

[5]  Rajeev Alur,et al.  Distinguishing tests for nondeterministic and probabilistic machines , 1995, STOC '95.

[6]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[7]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[8]  G. Bochmann,et al.  Testing deterministic implementations from nondeterministic FSM specifications , 1996 .

[9]  Glenford J. Myers,et al.  The art of software testing (2. ed.) , 2004 .

[10]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[11]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[12]  Florentin Ipate Testing against a non-controllable stream X-machine using state counting , 2006, Theor. Comput. Sci..

[13]  Mark Harman,et al.  Evolving transformation sequences using genetic algorithms , 2004 .

[14]  Mark Harman,et al.  Automated Unique Input Output Sequence Generation for Conformance Testing of FSMs , 2006, Comput. J..

[15]  Robert M. Hierons,et al.  Reaching and Distinguishing States of Distributed Systems , 2010, SIAM J. Comput..

[16]  Gregorio Robles,et al.  Executable source code and non-executable source code: analysis and relationships , 2004 .

[17]  N. V. Evtushenko,et al.  On the synthesis of adaptive tests for nondeterministic finite state machines , 2008, Programming and Computer Software.