the coverage of all conditions in the module because in many test cases, some conditions of a decision are masked by the other conditions. Using the modified condition/decision criterion, each condition must be shown to be able to act on the decision outcome by itself, everything else being held fixed. The MC/DC criterion is thus much stronger than the condition/decision coverage. Criticism It is a misunderstanding that by purely syntactic rearrangements of decisions (breaking them into several independently evaluated conditions using temporary variables, the values of which are then used in the decision) which do not change the semantics of a program can lower the difficulty of obtaining complete MC/DC coverage. This is because MC/DC is driven by the program syntax. However, this kind of "cheating" can be done to simplify expressions, not simply to avoid MC/DC complexities. For example, assignment of the number of days in a month (excluding leap years) could be achieved by using either a switch statement or by using a table with an enumeration value as an index. The number of tests required based on the source code could be considerably different depending upon the coverage required, although semantically we would want to test both approaches with a minimum number of tests. Another example that could be considered as "cheating" to achieve higher MC/DC is:/* Function A */ void function_a (int a, bool b, bool c, bool d, bool e, bool f) { if (a == 100) { if (b || c) // statement 1 if (d || e || f) // statement 2 } }/* Function B */ void function_b (int a, bool b, bool c, bool d, bool e, bool f) { bool a_is_equal_to_100 = a == 100 ; bool b_or_c = b || c ; bool d_or_e_or_f = d || e || f ; if (a_is_equal_to_100) { if (b_or_c) // statement 1 if (d_or_e_or_f) // statement 2 } }if the definition of a decision is treated as if it is an boolean expression that changes the control flow of the program (the text in brackets in an 'if' statement) then one may think that Function B is likely to have higher MC/DC than Function A for a given set of test cases (easier to test because it needs less tests to achieve 100% MC/DC coverage), even though functionally both are the same. However, what is wrong in the previous statement is the