Abstract
Equivalent mutants are a major nuisance in mutation testing because they introduce a significant amount of bias. But weeding them out is difficult because it requires a detailed analysis of the source code of the base program and the mutant. In this paper we argue that for most applications, it is not necessary to identify equivalent mutants individually; rather it suffices to estimate their number. Also, we explore how we can estimate their number by a cursory/automatable analysis of the base program and the mutant generation policy.
Keywords
This paper is an extended version of the paper titled: Impact of Mutation Operators on Mutant Equivalence, by I. Marsit, M. N. Omri, J. M. Loh and A. Mili. Proceedings, ICSOFT 2018, Madrid, Spain, July 2018, pages 55–66. This paper extends the original by justifying the definition of the metrics and by showing the details of the regression model.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)
Just, R., Jalali, D., Inozemtseva, L., Ernst, M.D., Holmes, R., Fraser, G.: Are mutants a valid substitute for real faults in software testing. In: Foundations of Software Engineering, Hong Kong, China (2014)
Andrews, J.H., Briand, L.C., Labiche, I.: Is mutation an appropriate tool for testing experiments. In: International Conference on Software Testing, St. Louis, MO, USA (2005)
Namin, A.S., Kakarla, S.: The Use of mutation in testing experiments and its sensitivity to external threats. In: ISSTA 2011, Toronto, Ontario, Canada (2011)
Yao, X., Harman, M., Jia, Y.: A study of equivalent and stubborn mutation operators using human analysis of equivalence. In: Proceedings, International Conference on Software Engineering, Hyderabad, India (2014)
Schuler, D., Zeller, A.: Covering and uncovering equivalent mutants. J. Softw. Test. Verification Reliab. 23(5), 353–374 (2012)
Gruen, B.J., Schuler, D., Zeller, A.: The impact of equivalent mutants. In: MUTATION 2009. Denver CO., USA (2009)
Just, R., Ernst, M.D., Fraser, G.: Using state infection conditions to detect equivalent mutants and speed up mutation analysis. In: Dagstuhl Seminar 13021: Symbolic Methods in Testing, Wadern, Germany (2013)
Just, R., Ernst, M.D., Fraser, G.: Efficient mutation analysis by propagating and partitioning infected execution states. In: ISSTA 2014, San Jose, CA, USA (2014)
Wang, B., Xiong, Y., Shi, Y., Zhang, L., Hao, D.: Faster mutation analysis via equivalence modulo states. In: ISSTA 2017, Santa Barbara, CA, USA (2017)
Papadakis, M., Delamaro, M., Le Traon, Y.: Mitigating the effects of equivalent mutants with mutant classification strategies. Sci. Comput. Program. 95(12), 298–319 (2014)
Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Le Traon, Y., Harman, M.: Mutation testing advances: an analysis and survey. In: Advances in Computers (2019)
Budd, T.A., Angluin, D.: Two notions of correctness and their relation to testing. Acta Informatica 18(1), 31–45 (1982)
Offutt, J.A., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. J. Softw. Test. Verification Reliab. 7(3), 164–192 (1997)
Voas, J., McGraw, G.: Software Fault Injection: Inoculating Programs Against Errors. Wiley, New York (1997)
Harman, M., Hierons, R., Danicic, S.: The relationship between program dependence and mutation analysis. In: MUTATION 2000, San Jose, CA, USA (2000)
Hierons, R.M., Harman, M., Danicic, S.: Using program slicing to assist in the detection of equivalent mutants. J. Softw. Test. Verification Reliab. 9(4), 233–262 (1999)
Ellims, M., Ince, D.C., Petre, M.: The Csaw C mutation tool: initial results. In: MUTATION 2007, Windsor, UK (2007)
Howden, W.E.: Weak mutation testing and completeness of test sets. IEEE Trans. Softw. Eng. 8(4), 371–379 (1982)
Schuler, D., Dallmaier, V., Zeller, A.: Efficient mutation testing by checking invariant violations. In: ISSTA 2009, Chicago, IL, USA (2009)
Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE Trans. Softw. Eng. 27(2), 99–123 (2001)
Nica, S., Wotawa, F.: Using constraints for equivalent mutant detection. In: Workshop on Formal Methods in the Development of Software (2012)
Carvalho, L., Guimaraes, M.A., Fernandes, L., Al Hajjaji, M., Gheyi, R., Thuem, T.: Equivalent mutants in configurable systems: an empirical study. In: VAMOS 2018, Madrid, Spain (2018)
Kintis, M., Papadakis, M., Jia, Y., Malevris, N., Le Traon, Y., Harman, M.: Detecting trivial mutant equivalences via compiler optimizations. IEEE Trans. Softw. Eng. 44(4), 308–333 (2018)
Marsit, I., Omri, M.N., Loh, J.M., Mili, A.: Impact of mutation operators on mutant equivalence. In: ICSOFT, Madrid, Spain (2018)
Shannon, C.E.: A mathematical theory of communication. Bell Syst. Tech. J. 27, 379–423 (1948)
Laurent, T., Papadakis, M., Kintis, M., Henard, C., Le Traon, Y., Ventresque, A.: Assessing and improving the mutation testing practice of PIT. In: ICST, Vasteras, Sweden (2018)
Acknowledgement
This research is partially supported by a grant to the last author from the (US) National Science Foundation, number DGE 1565478.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Ayad, A., Marsit, I., Mohamed Omri, N., Loh, J., Mili, A. (2019). Using Semantic Metrics to Predict Mutation Equivalence. In: van Sinderen, M., Maciaszek, L. (eds) Software Technologies. ICSOFT 2018. Communications in Computer and Information Science, vol 1077. Springer, Cham. https://doi.org/10.1007/978-3-030-29157-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-29157-0_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29156-3
Online ISBN: 978-3-030-29157-0
eBook Packages: Computer ScienceComputer Science (R0)