Skip to main content

A New Mutant Generation Algorithm Based on Basic Path Coverage for Mutant Reduction

  • Conference paper
  • First Online:
  • 543 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12028))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)

    Article  Google Scholar 

  2. Offutt, A.J., Untch, R.H.: Mutation 2000: Uniting the Orthogonal. Mutation Testing for the New Century. Kluwer Academic Publishers, Berlin (2001)

    Google Scholar 

  3. Just, R., Ernst, M.D., Fraser, G.: Efficient mutation analysis by propagating and partitioning infected execution states (2014)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Allen, F.E.: Control flow analysis. ACM Sigplan Not. 5(7), 1–19 (1970)

    Article  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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)

    MathSciNet  MATH  Google Scholar 

  9. Fraser, G., Zeller, A.: Mutation-driven generation of unit tests and Oracles. IEEE Trans. Softw. Eng. 38(2), 278–292 (2012)

    Article  Google Scholar 

  10. Acree, A.T.: On mutation. Ph.D. Dissertation, Georgia Institute of Technology (1980)

    Google Scholar 

  11. Mathur, A.P.: Performance, effectiveness, and reliability issues in software testing. In: International Computer Software & Applications Conference. IEEE (1991)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Hussain, S.: Mutation clustering. Ph.D. Dissertation, King’s College, London, UK (2008)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. Allen, F.E., Cocke, J.: A program data flow analysis procedure. Commun. ACM 19(3), 137 (1976)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xu Qin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics