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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Myers, G.J.: The Art of Software Testing. Wiley-Interscience, New York (1979)
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
Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Transactions on Software Engineering 3, 279–290 (1977)
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)
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)
Howden, W.E.: Weak mutation testing and completeness of test sets. IEEE Transactions on Software Engineering 8, 371–379 (1982)
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)
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)
Byoungju, C., Mathur, A.P.: High-performance mutation testing. The Journal of Systems and Software 20, 135–152 (1993)
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)
Baldwin, D., Sayward, F.: Heuristics for determining equivalence of program mutations. Research Report 276, Department of Computer Science, Yale University (1979)
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)
Offutt, A.J., Craft, W.M.: Using compiler optimization techniques to detect equivalent mutants. Software Testing, Verification and Reliability 4, 131–154 (1994)
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)
Offutt, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Software Testing, Verification, and Reliability 7, 165–192 (1997)
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)
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)
Ferguson, R., Korel, B.: The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology 5, 63–86 (1996)
Jones, B., Sthamer, H.H., Eyres, D.: Automatic structural testing using genetic algorithms. The Software Engineering Journal 11, 299–306 (1996)
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)
Michael, C., McGraw, G., Schatz, M.: Generating software test data by evolution. IEEE Transactions on Software Engineering, 1085–1110 (2001)
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)
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)
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)
Schultz, A., Grefenstette, J., Jong, K.: Test and evaluation by genetic algorithms. IEEE Expert 8, 9–14 (1993)
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)
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)
Wegener, J., Sthamer, H., Jones, B.F., Eyres, D.E.: Testing real-time systems using genetic algorithms. Software Quality 6, 127–135 (1997)
McMinn, P.: A survey of evolutionary testing. Software Testing, Verification and Reliability (to appear)
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)
DeMillo, R.A., Offutt, A.J.: Experimental results from an automatic test generator. Acm Transactions of Software Engineering and Methodology 2, 109–127 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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