Abstract
Mutation testing is a fault-based testing technique that can be used to measure the adequacy of a test set, but its application usually incurs a high cost due to the necessity of generating and executing a great number of mutants. How to reduce the cost still remains a challenge for research. In this paper, we present a new mutant generation algorithm based on a basic path coverage that can help reduce mutants. The algorithm is characterized by implementing a basic path segments identification criterion for determining appropriate program points at which faults are inserted and a mutant generation priority criterion for selecting proper mutant operators to make a fault for insertion. We discuss the algorithm by analysing how the two criteria are realized based on analysing the control flow graph of the program and applying effective mutation operators on the appropriate statements in the relevant path segments. We also present an automated mutation testing tool that supports the proposed approach, and a small experiment to evaluate our tool by comparing it with a traditional mutation testing method on six programs. The result of the experiment suggests that the proposed method can significantly reduce the number of mutants and improve the efficiency of mutation testing.
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)
Offutt, A.J., Untch, R.H.: Mutation 2000: Uniting the Orthogonal. Mutation Testing for the New Century. Kluwer Academic Publishers, Berlin (2001)
Just, R., Ernst, M.D., Fraser, G.: Efficient mutation analysis by propagating and partitioning infected execution states (2014)
Namin, A.S., Andrews, J.H., Murdoch, D.J.: Sufficient mutation operators for measuring test effectiveness. In: ACM Press the 13th International Conference on Software Engineering - ICSE 2008 - Leipzig, Germany, 10–18 May 2008, p. 351 (2008)
Allen, F.E.: Control flow analysis. ACM Sigplan Not. 5(7), 1–19 (1970)
Zapata, F., Akundi, A., Pineda, R., Smith, E.: Basis path analysis for testing complex system of systems. Procedia Comput. Sci. 20(Complete), 256–261 (2013)
Papadakis, M., Malevris, N.: Automatically performing weak mutation with the aid of symbolic execution, concolic testing and search-based testing. Softw. Qual. J. 19(4), 691–723 (2011)
Eason, G., Noble, B., Sneddon, I.N.: On certain integrals of Lipschitz-Hankel type involving products of Bessel functions. Phil. Trans. Roy. Soc. London A247, 529–551 (1955)
Fraser, G., Zeller, A.: Mutation-driven generation of unit tests and Oracles. IEEE Trans. Softw. Eng. 38(2), 278–292 (2012)
Acree, A.T.: On mutation. Ph.D. Dissertation, Georgia Institute of Technology (1980)
Mathur, A.P.: Performance, effectiveness, and reliability issues in software testing. In: International Computer Software & Applications Conference. IEEE (1991)
Jia, Y., Harman, M.: Constructing Subtle Faults Using Higher Order Mutation Testing. In: 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation. IEEE (2008)
Hussain, S.: Mutation clustering. Ph.D. Dissertation, King’s College, London, UK (2008)
Zhang, J.: Scalability studies on selective mutation testing. In: 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE), Florence, Italy, 5–24 May 2015, pp. 851–854 (2015)
Yao, X., Harman, M., Jia, Y.: A study of equivalent and stubborn mutation operators using human analysis of equivalence. In: Proceedings of the 36th International Conference on Software Engineering - ICSE 2014, Hyderabad, India, 31 May–07 June 2014, pp. 919–930 (2014)
Delamaro, M.E., Li, N., Offutt, J., et al.: Experimental evaluation of SDL and one-op mutation for C. In: IEEE Seventh International Conference on Software Testing. IEEE (2014)
Hutchins, M., Foster, H., Goradia, T., et al.: Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria. In: International Conference on Software Engineering. IEEE (1994)
Harman, M., Jia, Y., Mateo, R.P., et al.: Angels and monsters: an empirical investigation of potential test effectiveness and efficiency improvement from strongly subsuming higher order mutation. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering. ACM (2014)
Girgis, M.R., Woodward, M.R.: An integrated system for program testing using weak mutation and data flow analysis. In: International Conference on Software Engineering. IEEE Computer Society Press (1985)
Krauser, E.W., Mathur, A.P., Rego, V.J.: High performance software testing on SIMD machines. IEEE Trans. Softw. Eng. 17(5), 403–423 (2002)
Allen, F.E., Cocke, J.: A program data flow analysis procedure. Commun. ACM 19(3), 137 (1976)
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
Qin, X., Liu, S., Tao, Z. (2020). A New Mutant Generation Algorithm Based on Basic Path Coverage for Mutant Reduction. In: Miao, H., Tian, C., Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2019. Lecture Notes in Computer Science(), vol 12028. Springer, Cham. https://doi.org/10.1007/978-3-030-41418-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-41418-4_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-41417-7
Online ISBN: 978-3-030-41418-4
eBook Packages: Computer ScienceComputer Science (R0)