Mutation Testing Applied to Object-Oriented Languages

  1. Delgado-Pérez, Pedro 1
  2. Medina-Bulo, Inmaculada 1
  3. Domínguez-Jiménez, Juan José 1
  1. 1 Universidad de Cádiz
    info

    Universidad de Cádiz

    Cádiz, España

    ROR https://ror.org/04mxxkb11

Libro:
Advances in Computer and Electrical Engineering

ISSN: 2327-039X 2327-0403

ISBN: 9781522575986

Año de publicación: 2019

Páginas: 1426-1438

Tipo: Capítulo de Libro

DOI: 10.4018/978-1-5225-7598-6.CH105 GOOGLE SCHOLAR lock_openAcceso abierto editor

Resumen

Mutation testing is a suitable technique to determine the quality of test suites designed for a certain program. The set of mutation operators and the overall technique should be developed around each programming language in particular. The structures related to the object-oriented paradigm require a tailored analysis addressing them. However, class mutation operators for these languages have not been analyzed at the same extent as traditional operators for procedural languages in the literature. The purpose of the chapter is to look in depth at the development and the current state of mutation testing, and more specifically, with regard to object-oriented programming languages.

Referencias bibliográficas

  • 10.1007/978-3-540-24855-2_155
  • Agrawal, H., DeMillo, R., Hathaway, B., Hsu, W., Hsu, W., Krauser, E., & Spafford, E. (1989, March). Design of mutant operators for the C programming language. Technical Report SERC-TR-41-P. Software Engineering Research Center, Purdue University, West Lafayette, IN.
  • 10.1109/ICCAE.2010.5451692
  • Baldwin, D., & Sayward, F. (1979). Heuristics for Determining Equivalence of Program Mutations (Research Report No. 276). Department of Computer Science, Yale University.
  • 10.1002/stvr.1470
  • Budd, T. A. (1980). Mutation analysis of program test data (PhD thesis). Yale University, New Haven, CT.
  • 10.1109/ICSTW.2009.41
  • 10.1109/32.910859
  • 10.1007/s12243-014-0445-4
  • 10.1109/C-M.1978.218136
  • 10.1109/32.92910
  • 10.1109/QSIC.2006.51
  • 10.1007/978-3-319-07013-1_15
  • 10.1007/978-3-642-30561-0_5
  • 10.1007/978-3-642-28038-2_18
  • 10.1109/ECOWS.2009.18
  • 10.1016/j.infsof.2011.03.008
  • 10.1002/stvr.1528
  • 10.1109/ISSRE.1994.341378
  • 10.1109/TSE.2011.93
  • M. R.Girgis, (1985), Proceedings of the 8th International Conference on Software Engineering, pp. 313
  • 10.1109/ICSTW.2009.37
  • 10.1109/TSE.1977.231145
  • Hussain, S. (2008). Mutation clustering. King’s College London. Retrieved 2012-10-25, from http://www0.cs.ucl.ac.uk/staff/m.harman/PastMScProjects2007/ShamailaHussain.pdf
  • 10.1016/j.infsof.2009.04.016
  • 10.1109/TSE.2010.62
  • Kim, S., Clark, J., & McDermid, J. (2000). Class mutation: Mutation testing for object-oriented programs. In Proceedings of the Net.ObjectDays (pp. 9–12).
  • 10.1002/spe.4380210704
  • 10.4218/etrij.09.0108.0356
  • Ma, Y. S., Kwon, Y. R., & Offutt, J. (2002, November). Inter-Class Mutation Operators for Java. In S. Kawada (Ed.), Proceedings of XIII International Symposium on Software Reliability Engineering (pp. 352–363). Annapolis, MD: IEEE Computer Society.
  • 10.1002/stvr.308
  • 10.1016/j.scico.2012.02.005
  • 10.1109/ICCKE.2014.6993419
  • 10.1002/(SICI)1099-1689(199912)9:4<205::AID-STVR186>3.0.CO;2-X
  • Mutant: Mutation testing tool for Ruby. (n.d.). Retrieved from http://rubydoc.info/gems/mutant/
  • 10.1109/CMPASS.1996.507890
  • 10.1002/(SICI)1097-024X(199902)29:2<167::AID-SPE225>3.0.CO;2-V
  • 10.1109/ICSE.2015.103
  • 10.1186/2193-1801-2-121
  • 10.1109/ICST.2010.30
  • 10.1016/j.infsof.2011.03.006
  • 10.1007/s10664-008-9083-7
  • 10.1016/j.infsof.2006.06.009
  • 10.1145/154183.154265
  • 10.1109/MS.2010.79
  • Van Laenen, F. (2012). Mutation Testing. Overload, 108, 16-22. Retrieved from http://accu.org/var/uploads/journals/overload108.pdf
  • 10.1109/WST.1988.5370