How it works
- MC/DC (modified condition/decision coverage) needs, for every condition, two test cases that differ only in that condition and give different decision outcomes. That pair shows the condition independently affects the decision.
- Minimal set: the tool searches for the smallest set of test cases that contains a pair for every condition. For N conditions the minimum is usually N + 1 test cases, compared with 2N for the full truth table.
- Unique-cause MC/DC is used. Conditions with no pair (for example
A && !A) cannot be shown independent: usually a sign of a redundant or coupled condition in the code.
ISO 26262-6 Table 9 highly recommends MC/DC for ASIL D software units. DO-178C requires it for Level A software.
Sign in free to use the MC/DC test case generator
One quick sign-in with your work email or Google. No password, no card.
- Use every free tool
- Download Excel, CSV and PDF results
- Your inputs stay in your browser
Already signed in? Refresh the page
Questions
What is the difference between unique-cause and masking MC/DC?
Unique-cause MC/DC needs the pair to differ in exactly one condition. Masking MC/DC allows other conditions to change when their effect is masked by the logic. Unique-cause is stricter and is what this tool generates; coupled conditions may need masking MC/DC or a justification.
Does it handle short-circuit evaluation?
The truth table treats every condition as evaluated. With short-circuit operators in C, some conditions are not evaluated in a test case; they can take any value there, which makes the generated tests still valid.
Can I paste code directly?
Yes, paste the condition of an if statement. Comparisons such as speed > 10 or mode != OFF are treated as single conditions.
Need structural coverage evidence for an ASIL C or D release?
Dervo test engineers design MC/DC test cases, run coverage analysis and write the justification for anything that cannot be covered.
