Semantic mutation testing

被引:15
|
作者
Clark, John A. [1 ]
Dan, Haitao [2 ]
Hierons, Robert M. [2 ]
机构
[1] Univ York, Dept Comp Sci, York YO10 5GH, N Yorkshire, England
[2] Brunel Univ, Sch Informat Syst Comp & Math, Uxbridge UB8 3PH, Middx, England
基金
英国工程与自然科学研究理事会;
关键词
Mutation testing; Semantics; Misunderstandings;
D O I
10.1016/j.scico.2011.03.011
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Mutation testing is a powerful and flexible test technique. Traditional mutation testing makes a small change to the syntax of a description (usually a program) in order to create a mutant. A test suite is considered to be good if it distinguishes between the original description and all of the (functionally non-equivalent) mutants. These mutants can be seen as representing potential small slips and thus mutation testing aims to produce a test suite that is good at finding such slips. It has also been argued that a test suite that finds such small changes is likely to find larger changes. This paper describes a new approach to mutation testing, called semantic mutation testing. Rather than mutate the description, semantic mutation testing mutates the semantics of the language in which the description is written. The mutations of the semantics of the language represent possible misunderstandings of the description language and thus capture a different class of faults. Since the likely misunderstandings are highly context dependent, this context should be used to determine which semantic mutants should be produced. The approach is illustrated through examples with statecharts and C code. The paper also describes a semantic mutation testing tool for C and the results of experiments that investigated the nature of some semantic mutation operators for C. (C) 2011 Elsevier B.V. All rights reserved.
引用
收藏
页码:345 / 363
页数:19
相关论文
共 50 条
  • [21] Parallel mutation testing
    Reales Mateo, Pedro
    Polo Usaola, Macario
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2013, 23 (04): : 315 - 350
  • [22] Mutation Testing with Hyperproperties
    Fellner, Andreas
    Befrouei, Mitra Tabaei
    Weissenbacher, Georg
    SOFTWARE ENGINEERING AND FORMAL METHODS (SEFM 2019), 2019, 11724 : 203 - 221
  • [23] Performance mutation testing
    Delgado-Perez, Pedro
    Belen Sanchez, Ana
    Segura, Sergio
    Medina-Bulo, Inmaculada
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2021, 31 (05):
  • [24] Predictive Mutation Testing
    Zhang, Jie
    Zhang, Lingming
    Harman, Mark
    Hao, Dan
    Jia, Yue
    Zhang, Lu
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2019, 45 (09) : 898 - 918
  • [25] Mutation Sensitivity Testing
    Hook, Daniel
    Kelly, Diane
    COMPUTING IN SCIENCE & ENGINEERING, 2009, 11 (06) : 40 - 47
  • [26] Spotting Code Mutation for Predictive Mutation Testing
    Zhao, Yifan
    Chen, Yizhou
    Sun, Zeyu
    Liang, Qingyuan
    Wang, Guoqing
    Hao, Dan
    PROCEEDINGS OF 2024 39TH ACM/IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2024, 2024, : 1133 - 1145
  • [27] Editorial: Mutation 2000 - A symposium on mutation testing
    Wong, WE
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (04): : 205 - 206
  • [28] Adaptive or embedded software testing and mutation testing
    Hierons, Robert M.
    Xie, Tao
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2021, 31 (07):
  • [29] Does mutation testing improve testing practices?
    Petrovic, Goran
    Ivankovic, Marko
    Fraser, Gordon
    Just, Rene
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 910 - 921