TY - JOUR
T1 - The ratio of equivalent mutants
T2 - A key to analyzing mutation equivalence
AU - Marsit, Imen
AU - Ayad, Amani
AU - Kim, David
AU - Latif, Monsour
AU - Loh, Ji Meng
AU - Omri, Mohamed Nazih
AU - Mili, Ali
N1 - Publisher Copyright:
© 2021 Elsevier Inc.
PY - 2021/11
Y1 - 2021/11
N2 - Mutation testing is the art of generating syntactic versions (called mutants) of a base program, and is widely used in software testing, most notably the assessment of test suites. Mutants are useful only to the extent that they are semantically distinct from the base program, but some may well be semantically equivalent to the base program, despite being syntactically distinct. Much research has been devoted to identifying, and weeding out, equivalent mutants, but determining whether two programs are semantically equivalent is a non-trivial, tedious, error-prone task. Yet in practice it is not necessary to identify equivalent mutants individually; for most intents and purposes, it suffices to estimate their number. In this paper, we are interested to estimate, for a given number of mutants generated from a program, the ratio of those that are equivalent to the base program; we refer to this as the Ratio of Equivalent Mutants (REM, for short). We argue, on the basis of analytical grounds, that the REM of a program may be estimated from a static analysis of the program, and that it can be used to analyze many mutation related properties of a program. The purpose/ aspiration of this paper is to draw attention to this potentially cost-effective approach to a longstanding stubborn problem.
AB - Mutation testing is the art of generating syntactic versions (called mutants) of a base program, and is widely used in software testing, most notably the assessment of test suites. Mutants are useful only to the extent that they are semantically distinct from the base program, but some may well be semantically equivalent to the base program, despite being syntactically distinct. Much research has been devoted to identifying, and weeding out, equivalent mutants, but determining whether two programs are semantically equivalent is a non-trivial, tedious, error-prone task. Yet in practice it is not necessary to identify equivalent mutants individually; for most intents and purposes, it suffices to estimate their number. In this paper, we are interested to estimate, for a given number of mutants generated from a program, the ratio of those that are equivalent to the base program; we refer to this as the Ratio of Equivalent Mutants (REM, for short). We argue, on the basis of analytical grounds, that the REM of a program may be estimated from a static analysis of the program, and that it can be used to analyze many mutation related properties of a program. The purpose/ aspiration of this paper is to draw attention to this potentially cost-effective approach to a longstanding stubborn problem.
KW - Mutation equivalence
KW - Mutation testing
KW - Ratio of equivalent mutants
KW - Redundancy
UR - http://www.scopus.com/inward/record.url?scp=85111273855&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85111273855&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2021.111039
DO - 10.1016/j.jss.2021.111039
M3 - Article
AN - SCOPUS:85111273855
SN - 0164-1212
VL - 181
JO - Journal of Systems and Software
JF - Journal of Systems and Software
M1 - 111039
ER -