Combining Genetic Algorithms and Mutation Testing to Generate Test Sequences

  • Carlos Molinero
  • Manuel Núñez
  • César Andrés
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5517)


The goal of this paper is to provide a method to generate efficient and short test suites for Finite State Machines (FSMs) by means of combining Genetic Algorithms (GAs) techniques and mutation testing. In our framework, mutation testing is used in various ways. First, we use it to produce (faulty) systems for the GAs to learn. Second, it is used to sort the intermediate tests with respect to the number of mutants killed. Finally, it is used to measure the fitness of our tests, therefore allowing to reduce redundancy. We present an experiment to show how our approach outperforms other approaches.


Genetic Algorithm Test Suite Mutation Operator Random Testing Finite State Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andrews, J.H., Briand, L.C., Labiche, Y.: Is mutation an appropriate tool for testing experiments. In: 27th Int. Conf. on Software Engineering, ICSE 2005, pp. 402–411. ACM Press, New York (2005)Google Scholar
  2. 2.
    Derderian, K., Hierons, R.M., Harman, M., Guo, Q.: Automated Unique Input Output sequence generation for conformance testing of FSMs. Computer Journal 49(3), 331–344 (2006)CrossRefGoogle Scholar
  3. 3.
    Fabbri, S.C.P.F., Delamaro, M.E., Maldonado, J.C., Masiero, P.C.: Mutation analysis testing for finite state machines. In: 5th IEEE Int. Symposium on Software Reliability Engineering, ISSRE 1994, pp. 220–229. IEEE Computer Society Press, Los Alamitos (1994)CrossRefGoogle Scholar
  4. 4.
    Fatiregun, D., Harman, M., Hierons, R.M.: Evolving transformation sequences using genetic algorithms. In: 4th IEEE Int. Workshop on Source Code Analysis and Manipulation, SCAM 2004, pp. 65–74. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  5. 5.
    Guo, Q., Hierons, R.M., Harman, M., Derderian, K.: Computing unique input/ouput sequences using genetic algorithms. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 169–184. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Hamlet, D.: When only random testing will do. In: 1st International Workshop on Random Testing, pp. 1–9. ACM Press, New York (2006)CrossRefGoogle Scholar
  7. 7.
    Hamlet, R.: Random testing. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering, pp. 970–978. Wiley, Chichester (1994)Google Scholar
  8. 8.
    Sugeta, T., Maldonado, J.C., Wong, W.E.: Mutation testing applied to validate SDL specifications. In: Groz, R., Hierons, R.M. (eds.) TestCom 2004. LNCS, vol. 2978, pp. 193–208. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Zhu, H., Hall, P.A.V., May, J.H.R.: Software unit test coverage and adequacy. ACM Computing Surverys 29(4), 366–427 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Carlos Molinero
    • 1
  • Manuel Núñez
    • 1
  • César Andrés
    • 1
  1. 1.Dept. Sistemas Informáticos y ComputaciónUniversidad Complutense de MadridMadridSpain

Personalised recommendations