ABSTRACT
Mutation testing originated in the 1970s and initially
considered imperative programming languages and, in par-
ticular, FORTRAN.[1,2] More recent work has investigated
other programming languages including object-oriented
languages.[3,4] There has also been interest in mutating a
model or specification of the SUT rather than the source
code. However, in each case the underlying principle is the
same:We producemutants and judge the adequacy of a test
suite by determining how many of these mutants it distin-
guishes from the original artifact.