Skip to main content

How to Overcome the Equivalent Mutant Problem and Achieve Tailored Selective Mutation Using Co-evolution

  • Conference paper
Genetic and Evolutionary Computation – GECCO 2004 (GECCO 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3103))

Included in the following conference series:

Abstract

The use of Genetic Algorithms in evolution of mutants and test cases offers new possibilities in addressing some of the main problems of mutation testing. Most specifically the problem of equivalent mutant detection, and the problem of the large number of mutants produced. In this paper we describe the above problems in detail and introduce a new methodology based on co-evolutionary search techniques using Genetic Algorithms in order to address them effectively. Co-evolution allows the parallel evolution of mutants and test cases. We discuss the advantages of this approach over other existing mutation testing techniques, showing details of some initial experimental results carried out.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Myers, G.J.: The Art of Software Testing. Wiley-Interscience, New York (1979)

    Google Scholar 

  2. Pressman, R.: Software Engineering: A Practitioner’s Approach, 3rd edn. McGraw-Hill Book Company, Europe (1992) European adaptation (1994). Adapted by Darrel Ince. ISBN 0-07-707936-1

    Google Scholar 

  3. Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Transactions on Software Engineering 3, 279–290 (1977)

    Article  Google Scholar 

  4. Bottaci, L., Mresa, E.S.: Efficiency of mutation operators and selective mutation strategies: An empirical study. Software Testing, Verification and Reliability 9, 205–232 (1999)

    Article  Google Scholar 

  5. Budd, T.A.: Mutation analysis: Ideas, examples, problems and prospects. In: Proceedings of the Summer School on Computer Program Testing, Sogesta, pp. 129–148 (1981)

    Google Scholar 

  6. Howden, W.E.: Weak mutation testing and completeness of test sets. IEEE Transactions on Software Engineering 8, 371–379 (1982)

    Article  Google Scholar 

  7. Woodward, M.R., Halewood, K.: From weak to strong, dead or alive? an analysis of some mutation testing issues. In: Proceedings of the Second Workshop on Software Testing, Verification, and Analysis, Banff, Canada (1988)

    Google Scholar 

  8. Untch, R.H., Offutt, A.J., Harrold, M.J.: Mutation analysis using mutant schemata. In: Ostrand, T., Weyuker, E. (eds.) Proceedings of the 1993 International Symposium on Software Testing and Analysis (ISSTA), pp. 139–148 (1993)

    Google Scholar 

  9. Byoungju, C., Mathur, A.P.: High-performance mutation testing. The Journal of Systems and Software 20, 135–152 (1993)

    Article  Google Scholar 

  10. Offutt, A.J., Untch, R.: Mutation 2000: Uniting the orthogonal. In: Wong, W.E. (ed.) Mutation Testing for the New Century (proceedings of Mutation 2000), San Jose, California, USA, pp. 45–55. Kluwer, Dordrecht (2001)

    Google Scholar 

  11. Baldwin, D., Sayward, F.: Heuristics for determining equivalence of program mutations. Research Report 276, Department of Computer Science, Yale University (1979)

    Google Scholar 

  12. Hierons, R.M., Harman, M., Danicic, S.: Using program slicing to assist in the detection of equivalent mutants. Software Testing, Verification and Reliability 9, 233–262 (1999)

    Article  Google Scholar 

  13. Offutt, A.J., Craft, W.M.: Using compiler optimization techniques to detect equivalent mutants. Software Testing, Verification and Reliability 4, 131–154 (1994)

    Article  Google Scholar 

  14. Offutt, A.J., Pan, J.: Detecting equivalent mutants and the feasible path problem. In: Annual Conference on Computer Assurance (COMPASS 1996), pp. 224–236. IEEE Computer Society Press, Gaithersburg (1996)

    Chapter  Google Scholar 

  15. Offutt, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Software Testing, Verification, and Reliability 7, 165–192 (1997)

    Article  Google Scholar 

  16. Bottaci, L.: Instrumenting programs with flag variables for test data search by genetic algorithms. In: Langdon, W.B., Cantú-Paz, E., Mathias, K., Roy, R., Davis, D., Poli, R., Balakrishnan, K., Honavar, V., Rudolph, G., Wegener, J., Bull, L., Potter, M.A., Schultz, A.C., Miller, J.F., Burke, E., Jonoska, N. (eds.) GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, New York, pp. 1337–1342. Morgan Kaufmann Publishers, San Francisco (2002)

    Google Scholar 

  17. Bottaci, L.: Predicate expression cost functions to guide evolutionary search for test data. In: Cantú-Paz, E., Foster, J.A., Deb, K., Davis, L., Roy, R., O’Reilly, U.-M., Beyer, H.-G., Kendall, G., Wilson, S.W., Harman, M., Wegener, J., Dasgupta, D., Potter, M.A., Schultz, A., Dowsland, K.A., Jonoska, N., Miller, J., Standish, R.K. (eds.) GECCO 2003. LNCS, vol. 2724, pp. 2455–2464. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  18. Ferguson, R., Korel, B.: The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology 5, 63–86 (1996)

    Article  Google Scholar 

  19. Jones, B., Sthamer, H.H., Eyres, D.: Automatic structural testing using genetic algorithms. The Software Engineering Journal 11, 299–306 (1996)

    Article  Google Scholar 

  20. Jones, B.F., Eyres, D.E., Sthamer, H.H.: A strategy for using genetic algorithms to automate branch and fault-based testing. The Computer Journal 41, 98–107 (1998)

    Article  Google Scholar 

  21. Michael, C., McGraw, G., Schatz, M.: Generating software test data by evolution. IEEE Transactions on Software Engineering, 1085–1110 (2001)

    Google Scholar 

  22. Mueller, F., Wegener, J.: A comparison of static analysis and evolutionary testing for the verification of timing constraints. In: 4th IEEE Real-Time Technology and Applications Symposium (RTAS 1998), Washington, Brussels, Tokyo, pp. 144–154. IEEE, Los Alamitos (1998)

    Google Scholar 

  23. Pargas, R.P., Harrold, M.J., Peck, R.R.: Test-data generation using genetic algorithms. The Journal of Software Testing, Verification and Reliability 9, 263–282 (1999)

    Article  Google Scholar 

  24. Pohlheim, H., Wegener, J.: Testing the temporal behavior of real-time software modules using extended evolutionary algorithms. In: Banzhaf, W., Daida, J., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M., Smith, R.E. (eds.) Proceedings of the Genetic and Evolutionary Computation Conference, Orlando, Florida, USA, vol. 2, p. 1795. Morgan Kaufmann, San Francisco (1999)

    Google Scholar 

  25. Schultz, A., Grefenstette, J., Jong, K.: Test and evaluation by genetic algorithms. IEEE Expert 8, 9–14 (1993)

    Article  Google Scholar 

  26. Tracey, N., Clark, J., Mander, K.: The way forward for unifying dynamic testcase generation: The optimisation-based approach. In: International Workshop on Dependable Computing and Its Applications (DCIA), IFIP, pp. 169–180 (1998)

    Google Scholar 

  27. Wegener, J., Grimm, K., Grochtmann, M., Sthamer, H., Jones, B.F.: Systematic testing of real-time systems. In: 4th International Conference on Software Testing Analysis and Review, EuroSTAR 1996 (1996)

    Google Scholar 

  28. Wegener, J., Sthamer, H., Jones, B.F., Eyres, D.E.: Testing real-time systems using genetic algorithms. Software Quality 6, 127–135 (1997)

    Article  Google Scholar 

  29. McMinn, P.: A survey of evolutionary testing. Software Testing, Verification and Reliability (to appear)

    Google Scholar 

  30. Kirsopp, C., Shepperd, M., Hart, J.: Search heuristics, case-based reasoning and software project effort prediction. In: Langdon, W.B., Cantú-Paz, E., Mathias, K., Roy, R., Davis, D., Poli, R., Balakrishnan, K., Honavar, V., Rudolph, G., Wegener, J., Bull, L., Potter, M.A., Schultz, A.C., Miller, J.F., Burke, E., Jonoska, N. (eds.) GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, New York, pp. 1367–1374. Morgan Kaufmann Publishers, San Francisco (2002)

    Google Scholar 

  31. DeMillo, R.A., Offutt, A.J.: Experimental results from an automatic test generator. Acm Transactions of Software Engineering and Methodology 2, 109–127 (1993)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Adamopoulos, K., Harman, M., Hierons, R.M. (2004). How to Overcome the Equivalent Mutant Problem and Achieve Tailored Selective Mutation Using Co-evolution. In: Deb, K. (eds) Genetic and Evolutionary Computation – GECCO 2004. GECCO 2004. Lecture Notes in Computer Science, vol 3103. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24855-2_155

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24855-2_155

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22343-6

  • Online ISBN: 978-3-540-24855-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics