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

Livre:
Advances in Computer and Electrical Engineering

ISSN: 2327-039X 2327-0403

ISBN: 9781522575986

Année de publication: 2019

Pages: 1426-1438

Type: Chapitre d'ouvrage

DOI: 10.4018/978-1-5225-7598-6.CH105 GOOGLE SCHOLAR lock_openAccès ouvert editor

Résumé

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.

Références bibliographiques

  • 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