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.