Test-Adequacy Assessment Using Program Mutation
replacement of a binary arithmetic operator by a logical opera-
tor, for example &&, will lead to a valid program. Thus, all such
syntax-preserving replacements must be considered while defining
the range.
7.6 FOUNDING PRINCIPLES OF MUTATION TESTING
Mutation testing is a powerful testing technique for achieving correct,
or close to correct, programs. It rests on two fundamental principles.
One principle is commonly known as the competent programmer hy-
pothesis or the competent programmer assumption. The other is known
as the coupling effect. We discuss these principles in Sections 7.6.1
and 7.6.2.
7.6.1 THE COMPETENT PROGRAMMER HYPOTHESIS
The competent programmer hypothesis (CPH) arises from a simple ob- ...