Abstract
Program mutation is the process of generating syntactic variations of a base program and analyzing them by comparison with the base; this process is meaningful only to the extent that the mutants are semantically distinct from the base program, but that is not always the case. Two programs may be syntactically distinct yet semantically equivalent. The problem of identifying and weeding out equivalent mutants has eluded researchers for a long time. In this chapter we argue that researchers ought to abandon the overly ambitious goal of determining whether a program and its mutant are equivalent, and focus instead on the more modest, but sufficient, goal of estimating the number of equivalent mutants that a program is prone to generate.
This research is partially supported by NSF under grant DGE 1565478.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Adamopoulos, K., Harman, M., Hierons, R.M.: How to overcome the equivalent mutant problem and achieve tailored selective mutation using co-evolution. In: Deb, K. (ed.) GECCO 2004. LNCS, vol. 3103, pp. 1338–1349. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24855-2_155
Andrews, J., Briand, L., Labiche, Y.: Is mutation an appropriate tool for testing experiments? In: Proceedings, ICSE (2005)
Androutsopoulos, K., Clark, D., Dan, H., Hierons, R.M., Harman, M.: An analysis of the relationship between conditional entropy and failed error propagation in software testing. In: Proceedings, ICSE 2014 (2014)
Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.E.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secure Comput. 1(1), 11–33 (2004)
Ayad, A., Marsit, I., Loh, J., Omri, M.N., Mili, A.: Quanatitative metrics for mutation testing. In: Proceedings, ICSOFT 2019, Prague, Czech Republic, July 2019
Ayad, A., Marsit, I., Mohamed Omri, N., Loh, J.M., Mili, A.: Using semantic metrics to predict mutation equivalence. In: van Sinderen, M., Maciaszek, L.A. (eds.) ICSOFT 2018. CCIS, vol. 1077, pp. 3–27. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29157-0_1
Budd, T.A., Angluin, D.: Two notions of correctness and their relation to testing. Acta Informatica 18(1), 31–45 (1982)
Carvalho, L., Guimares, M., Fernandes, L., Hajjaji, M.A., Gheyi, R., Thuem, T.: Equivalent mutants in configurable systems: an empirical study. In: Proceedings, VAMOS 2018, Madrid, Spain (2018)
Csiszar, I., Koerner, J.: Information Theory: Coding Theorems for Discrete Memoryless Systems. Cambridge University Press, Cambridge (2011)
Delamaro, M.E., Maldonado, J.C., Vincenzi, A.M.R.: Proteum /im 2.0: an integrated mutation testing environment. In: Wong, W.E. (ed.) Mutation Testing for the New Century, vol. 24, pp. 91–101. Springer, Boston (2001). https://doi.org/10.1007/978-1-4757-5939-6_17
Gruen, B., Schuler, D., Zeller, A.: The impact of equivalent mutants. In: Proceedings, MUTATION 2009, Denver, CO, USA (2009)
Hierons, R., Harman, M., Danicic, S.: Using program slicing to assist in the detection of equivalent mutants. J. Softw. Test. Verif. Reliab. 9(4), 233–262 (1999)
Inozemtseva, L., Holmes, R.: Coverage is not strongly correlated with test suite effectiveness. In: Procedings, 36th International Conference on Software Engineering. ACM Press (2014)
Just, R., Ernst, M., 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., Fraser, G.: Efficient mutation analysis by propagating and partitioning infected execution states. In: Proceedings, ISSTA 2014, San Jose, CA, USA (2014)
Just, R., Jalali, D., Inozemtseva, L., Ernst, M., Holmes, R., Fraser, G.: Are mutants a valid substitute for real faults in software testing? In: Proceedings, FSE (2014)
Just, R., Ernst, M.D., Fraser, G.: Using state infection conditions to detect equivalent mutants and sped up mutation analysis. In: Proceedings, Dagstuhl Seminar 13021: Symbolic Methods in Testing (2013)
Kintis, M., Papadakis, M., Jia, Y., Malveris, N., Le Traon, Y., Harman, M.: Detecting trivial mutant equivalences via compiler optimizations. IEEE Trans. Softw. Eng. 44(4), 308–333 (2018)
Laprie, J.C.: Dependability: Basic Concepts and Terminology: In English, French, German, Italian and Japanese. Springer, Heidelberg (1991). https://doi.org/10.1007/978-3-7091-9170-5
Laprie, J.C.: Dependability - its attributes, impairments and means. In: Randell, B., Laprie, J.C., Kopetz, H., Littlewood, B. (eds.) Predictably Dependable Computing Systems, pp. 1–19. Springer, Heidelberg (1995). https://doi.org/10.1007/978-3-642-79789-7_1
Laprie, J.C.: Dependable computing: concepts, challenges, directions. In: Proceedings, COMPSAC (2004)
Marsit, I., Omri, M.N., Loh, J.M., Mili, A.: Impact of mutation operators on mutant equivalence. In: Proceedings, ICSOFT 2018, pp. 55–66 (2018)
Namin, A.S., Kakarla, S.: The use of mutation in testing experiments and its sensitivity to external threats. In: Proceedings, ISSTA (2011)
Nica, S., Wotawa, F.: Using constraints for equivalent mutant detection. In: Andres, C., Llana, L. (eds.) Second Workshop on Formal methods in the Development of Software, pp. 1–8. EPTCS (2012). https://doi.org/10.420/EPTCS.86.1
Offut, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Softw. Test. Verif. Reliab. 7(3), 165–192 (1997)
Papadakis, M., Delamaro, M., LeTraon, Y.: Mitigating the effects of equivalent mutants with mutant clasification strategies. Sci. Comput. Program. 95(P3), 298–319 (2014)
Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Traon, Y.L., Harman, M.: Mutation testing advances: an analysis and survey. In: Advances in Computers (2019)
Schuler, D., Zeller, A.: Covering and uncovering equivalent mutants. In: Proceedings, International Conference on Software Testing, Verification and Validation, pp. 45–54 (2010). https://doi.org/10.1109/ICST.2010.30
Shannon, C.: A mathematical theory of communication. Bell Syst. Tech. J. 27(379–423), 623–656 (1948)
Wang, B., Xiong, Y., Shi, Y., Zhang, L., Hao, D.: Faster mutation analysis via equivalence modulo states. In: Proceedings, ISSTA 2017, Santa Barbara, CA, USA (2017)
Yao, X., Harman, M., Jia, Y.: A study of equivalent and stubborn mutation operators using human analysis of equivalence. In: Proceedings, ICSE (2014)
Acknowledgements
This work is partially supported by a grant from NSF, number DGE1565478.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ayad, A., Marsit, I., Tawfig, S., Loh, J.M., Omri, M.N., Mili, A. (2020). Quantitative Analysis of Mutant Equivalence. In: van Sinderen, M., Maciaszek, L. (eds) Software Technologies. ICSOFT 2019. Communications in Computer and Information Science, vol 1250. Springer, Cham. https://doi.org/10.1007/978-3-030-52991-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-52991-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-52990-1
Online ISBN: 978-3-030-52991-8
eBook Packages: Computer ScienceComputer Science (R0)