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 条
  • [41] Mutation testing for Jason agents
    Department of Computer Science, University of York, York, United Kingdom
    Lect. Notes Comput. Sci., (309-327):
  • [42] Special issue on Mutation Testing
    Papadakis, Mike
    Just, Rene
    INFORMATION AND SOFTWARE TECHNOLOGY, 2017, 81 : 1 - 2
  • [43] Quantitative Metrics for Mutation Testing
    Ayad, Amani
    Marsit, Imen
    Loh, JiMeng
    Omri, Mohamed Nazih
    Mili, Ali
    ICSOFT: PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES, 2019, : 49 - 59
  • [44] Mutation Testing for Jason Agents
    Huang, Zhan
    Alexander, Rob
    Clark, John
    ENGINEERING MULTI-AGENT SYSTEMS, EMAS 2014, 2014, 8758 : 309 - 327
  • [45] A Survey on Mutation Testing Approaches
    Al Kontar, Karam
    Naji, Joumana
    Demiane, Freddy
    Sobeh, Salma
    Haraty, Ramzi
    2019 IEEE CHILEAN CONFERENCE ON ELECTRICAL, ELECTRONICS ENGINEERING, INFORMATION AND COMMUNICATION TECHNOLOGIES (CHILECON), 2019,
  • [46] PROGRAM TESTING BY SPECIFICATION MUTATION
    BUDD, TA
    GOPAL, AS
    COMPUTER LANGUAGES, 1985, 10 (01): : 63 - 73
  • [47] State of Mutation Testing at Google
    Petrovic, Goran
    Ivankovic, Marko
    2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - SOFTWARE ENGINEERING IN PRACTICE TRACK (ICSE-SEIP 2018), 2018, : 163 - 171
  • [48] Higher Order Mutation Testing
    Jia, Yue
    Harman, Mark
    INFORMATION AND SOFTWARE TECHNOLOGY, 2009, 51 (10) : 1379 - 1393
  • [49] Formal mutation testing for Circus
    Alberto, Alex
    Cavalcanti, Ana
    Gaudel, Marie-Claude
    Simao, Adenilso
    INFORMATION AND SOFTWARE TECHNOLOGY, 2017, 81 : 131 - 153
  • [50] Mutation Testing based Safety Testing and Improving on DNNs
    Yuhao Wei
    Song Huang
    Yu Wang
    Ruilin Liu
    Chunyan Xia
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2022, : 821 - 829