کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
434067 | 1441705 | 2013 | 19 صفحه PDF | دانلود رایگان |

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.
► This paper describes a new approach to mutation testing, called semantic mutation testing, in which we mutate the semantics of the (programming or design) language used, rather than the program/model written in this language.
► The aim of semantic mutation testing is to find faults caused by a developer misunderstanding the semantics of the language used.
► The paper describes the framework, relevant scenarios, and a tool developed for C.
► The paper gives the results of initial experiments.
Journal: Science of Computer Programming - Volume 78, Issue 4, 1 April 2013, Pages 345–363