Searching for Strongly Subsuming Higher Order Mutants by Applying Multi-objective Optimization Algorithm

Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 358)

Abstract

Higher order mutation testing is considered a promising solution for overcoming the main limitations of first order mutation testing. Strongly subsuming higher order mutants (SSHOMs) are the most valuable among all kinds of higher order mutants (HOMs) generated by combining first order mutants (FOMs). They can be used to replace all of its constituent FOMs without scarifying test effectiveness. Some researchers indicated that searching for SSHOMs is a promising approach. In this paper, we not only introduce a new classification of HOMs but also new objectives and fitness function which we apply in multi-objective optimization algorithm for finding valuable SSHOMs.

Keywords

Mutation Testing Higher Order Mutation Higher Order Mutants Strongly Subsuming Multi-objective optimization algorithm 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. IEEE Computer 11(4), 34–41 (1978)CrossRefGoogle Scholar
  2. 2.
    Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Transactions on Software Engineering SE-3(4), 279–290 (1977)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Jia, Y., Harman, M.: Higher order mutation testing. Information and Software Technology 51, 1379–1393 (2009)CrossRefGoogle Scholar
  4. 4.
    Harman, M., Jia, Y., Langdon, W.B.: A Manifesto for Higher Order Mutation Testing. In: Third International Conf. on Software Testing, Verification, and Validation Workshops (2010)Google Scholar
  5. 5.
    Langdon, W.B., Harman, M., Jia, Y.: Efficient multi-objective higher order mutation testing with genetic programming. The Journal of Systems and Software 83 (2010)Google Scholar
  6. 6.
    Jia, Y., Harman, M.: Constructing Subtle Faults Using Higher Order Mutation Testing. In: Proc. Eighth Int’l Working Conf. Source Code Analysis and Manipulation (2008)Google Scholar
  7. 7.
    Langdon, W.B., Harman, M., Jia, Y.: Multi Objective Higher Order Mutation Testing with Genetic Programming. In: Proc. Fourth Testing: Academic and Industrial Conf. Practice and Research (2009)Google Scholar
  8. 8.
    Madeyski, L.: On the effects of pair programming on thoroughness and fault-finding effectiveness of unit tests. In: Münch, J., Abrahamsson, P. (eds.) PROFES 2007. LNCS, vol. 4589, pp. 207–221. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Madeyski, L.: The impact of pair programming on thoroughness and fault detection effectiveness of unit tests suites. Wiley, Software Process: Improvement and Practice 13(3), 281–295 (2008), doi:10.1002/spip.382CrossRefGoogle Scholar
  10. 10.
    Madeyski, L.: The impact of test-first programming on branch coverage and mutation score indicator of unit tests: An experiment. Information and Software Technology 52(2), 169–184 (2010), doi:10.1016/j.infsof.2009.08.007CrossRefGoogle Scholar
  11. 11.
    Madeyski, L., Orzeszyna, W., Torkar, R., Józala, M.: Overcoming the Equivalent Mutant Problem: A Systematic Literature Review and a Comparative Experiment of Second Order Mutation. IEEE Transactions on Software Engineering 40(1), 23–42 (2014), doi:10.1109/TSE.2013.44CrossRefGoogle Scholar
  12. 12.
    Mresa, E.S., Bottaci, L.: Efficiency of mutation operators and selective mutation strategies: An empirical study. Software Testing, Verification and Reliability (1999)Google Scholar
  13. 13.
    Papadakis, M., Malevris, N.: An empirical evaluation of the first and second order mutation testing strategies. In: Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2010, pp. 90–99. IEEE Computer Society (2010)Google Scholar
  14. 14.
    Vincenzi, A.M.R., Nakagawa, E.Y., Maldonado, J.C., Delamaro, M.E., Romero, R.A.F.: Bayesian-learning based guide-lines to determine equivalent mutants. International Journal of Soft. Eng. and Knowledge Engineering 12(6), 675–690 (2002)CrossRefGoogle Scholar
  15. 15.
    Polo, M., Piattini, M., Garcia-Rodriguez, I.: Decreasing the Cost of Mutation Testing with Second-Order Mutants. Software Testing, Verification, and Reliability 19(2), 111–131 (2008)CrossRefGoogle Scholar
  16. 16.
    Madeyski, L., Radyk, N.: Judy - a mutation testing tool for Java. IET Software 4(1), 32–42 (2010), doi:10.1049/iet-sen.2008.0038CrossRefGoogle Scholar
  17. 17.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2) (April 2002)Google Scholar
  18. 18.
    Nguyen, Q.V., Madeyski, L.: Problems of Mutation Testing and Higher Order Mutation Testing. In: van Do, T., Le Thi, H.A., Nguyen, N.T. (eds.) Advanced Computational Methods for Knowledge Engineering. AISC, vol. 282, pp. 157–172. Springer, Heidelberg (2014), doi:10.1007/978-3-319-06569-4_12CrossRefGoogle Scholar
  19. 19.
    Papadakis, M., Yue, J., Harman, M., Traon, Y.L.: Trivial Compiler Equivalence: A Large Scale Empirical Study of a Simple, Fast and Effective Equivalent Mutant Detection Technique. In: 37th International Conference on Software Engineering, ICSE (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Faculty of Computer Science and ManagementWroclaw University of TechnologyWroclawPoland

Personalised recommendations