CS447 Lecture Notes - Lecture 15: Operand, Unary Operation, Foreign Intelligence Service (Russia)
Document Summary
Coverage criteria the literature, as referenced in the bibliographic notes for this chapter. Mutation operators are generally designed either to mimic typical programmer mistakes, or to encourage testers to follow common testing heuristics. Operators that change relational operators or variable references are examples of operators that mimic typical programmer mistakes. The failonzero() operator used in figure 5. 1 is an example of the latter design; the tester is encouraged to follow the common testing heuristic of causing each expression to become zero. When rst designing mutation operators for a new language, it is reasonable to be inclusive, that is, include as many operators as possible. However, this often results in a large number of mutation operators, and an even larger number of mu- tants. Researchers have devoted a lot of effort to trying to nd ways to use fewer mutants and mutation operators.