Abstract
Mutant subsumption is the property of a mutant to be more stubborn than another, i.e. to be harder to distinguish from the base program. The traditional definition of mutant subsumption distinguishes between three forms of subsumption, namely: true subsumption, static subsumption, and dynamic subsumption. Also, the traditional definition of mutant subsumption appears to assume that programs and their mutants converge for all test data, but in practice this is not the case: executions may lead to infinite loops or attempt illegal operations of all kinds. In this paper we revisit the definition of mutant subsumption by taking into consideration the possibility that executions may diverge, and we propose an orthogonal classification of subsumption.
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
AlBlwi, S., Marsit, I., Khaireddine, B., Ayad, A., Loh, J., Mili, A.: Generalized mutant subsumption. In: Proceedings, ICSOFT 2022. Lisbon, Portugal, July 2022
Andrews, J.H., Briand, L.C., Labiche, Y., Namin, A.S.: Using mutation analysis for assessing and comparing testing coverage criteria. IEEE Trans. Softw. Eng. 32(8), 608–624 (2006)
Andrews, J., Briand, L., Labiche, Y.: Is mutation an appropriate tool for testing experiments? In: Proceedings, ICSE (2005)
Brink, C., Kahl, W., Schmidt, G.: Relational Methods in Computer Science. Advances in Computer Science. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-36280-0
Diallo, N., Ghardallou, W., Mili, A.: Correctness and relative correctness. In: Proceedings, 37th International Conference on Software Engineering, NIER track. Firenze, Italy, 20–22 May 2015. https://doi.org/10.1109/ICSE.2015.200
Dijkstra, E.: A Discipline of Programming. Prentice Hall (1976)
Gazzola, L., Micucci, D., Mariani, L.: Automatic software repair: a survey. IEEE Trans. Softw. Eng. 45(1) (2019)
Gries, D.: The Science of Programming. Springer, New York (1981). https://doi.org/10.1007/978-1-4612-5983-1
Guimaraes, M.A., Fernandes, L., Riberio, M., d’Amorim, M., Gheyi, R.: Optimizing mutation testing by discovering dynamic mutant subsumption relations. In: Proceedings, 13th International Conference on Software Testing, Validation and Verification (2020)
Hehner, E.: A Practical Theory of Programming. Springer, New York (1993). https://doi.org/10.1007/978-1-4419-8596-5
Hoare, C.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–583 (1969). https://doi.org/10.1145/363235.363259
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)
Khaireddine, B., Martinez, M., Mili, A.: Program repair at arbitrary fault depth. In: Proceedings, ICST 2019. Xi’An, China, April 2019
Khaireddine, B., Mili, A.: Quantifying faultiness: what does it mean to have \(n\) faults? In: Proceedings, FormaliSE 2021, ICSE 2021 Colocated Conference, May 2021
Kurtz, B., Amman, P., Delamaro, M., Offutt, J., Deng, L.: Mutant subsumption graphs. In: Proceedings, 7th International Conference on Software Testing, Validation and Verification Workshops (2014)
Kurtz, B., Ammann, P., Offutt, J.: Static analysis of mutant subsumption. In: Proceedings, IEEE 8th International Conference on Software Testing, Verification and Validation Workshops (2015)
Li, X., Wang, Y., Lin, H.: Coverage based dynamic mutant subsumption graph. In: Proceedings, International Conference on Mathematics, Modeling and Simulation Technologies and Applications (2017)
Manna, Z.: A Mathematical Theory of Computation. McGraw-Hill (1974)
Mili, A., Frias, M.F., Jaoua, A.: On faults and faulty programs. In: Höfner, P., Jipsen, P., Kahl, W., Müller, M.E. (eds.) RAMICS 2014. LNCS, vol. 8428, pp. 191–207. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-06251-8_12
Mili, A.: Differentiators and detectors. Inf. Process. Lett. 169 (2021)
Mili, A., Tchier, F.: Software Testing: Operations and Concepts. Wiley (2015)
Mills, H.D., Basili, V.R., Gannon, J.D., Hamlet, D.R.: Structured Programming: A Mathematical Approach. Allyn and Bacon, Boston (1986)
Morgan, C.C.: Programming from Specifications. International Series in Computer Sciences, 2nd edn. Prentice Hall, London (1998)
Namin, A.S., Kakarla, S.: The use of mutation in testing experiments and its sensitivity to external threats. In: Proceedings, ISSTA (2011)
Parsai, A., Demeyer, S.: Dynamic mutant subsumption analysis using littledarwin. In: Proceedings, A-TEST 2017. Paderborn, Germany, 4–5 September 2017
Schmidt, G.: Relational Mathematics. No. 132 in Encyclopedia of Mathematics and its Applications, Cambridge University Press, November 2010
Souza, B.: Identifying mutation subsumption relations. In: Proceedings, IEEE/ACM International Conference on Automated Software Engineering, pp. 1388–1390, December 2020
Tenório, M.C., Lopes, R.V.V., Fechine, J., Marinho, T., Costa, E.: Subsumption in mutation testing: an automated model based on genetic algorithm. In: Latifi, S. (ed.) 16th International Conference on Information Technology-New Generations (ITNG 2019). AISC, vol. 800, pp. 169–175. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-14070-0_24
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
AlBlwi, S., Marsit, I., Khaireddine, B., Ayad, A., Loh, J., Mili, A. (2023). Three Forms of Mutant Subsumption: Basic, Strict and Broad. In: Fill, HG., van Sinderen, M., Maciaszek, L.A. (eds) Software Technologies. ICSOFT 2022. Communications in Computer and Information Science, vol 1859. Springer, Cham. https://doi.org/10.1007/978-3-031-37231-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-37231-5_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-37230-8
Online ISBN: 978-3-031-37231-5
eBook Packages: Computer ScienceComputer Science (R0)