What Is MC/DC?

What Is MC/DC?

MC/DC (Modified Condition/Decision Coverage) is a software testing coverage criterion that requires every individual condition in a Boolean decision to independently affect the overall decision outcome.

MC/DC is used in structural software testing to verify the correctness of complex logical decisions. It requires specific test cases that show each condition can independently change the outcome of a decision while all other conditions remain unchanged, providing stronger assurance than statement or decision coverage.

Why Is MC/DC Important for Functional Safety?

Why Is MC/DC Important for Functional Safety?

MC/DC is important because it uncovers logic faults that simpler coverage metrics can miss. By proving each condition independently affects system behavior, MC/DC significantly reduces the risk of systematic software failures in safety-critical systems such as automotive, aerospace, rail, and industrial control.

MC/DC is required or strongly recommended by the following functional safety standards:

·       ISO 26262 (Automotive – ASIL D)

·       IEC 61508 (Industrial Safety)

·       DO-178C / DO-330 (Avionics)

·       EN 50128 (Railway Systems)

·       ISO/SAE 21434 (Automotive Cybersecurity)

How Does MC/DC Differ from Other Coverage Metrics?

How Does MC/DC Differ from Other Coverage Metrics?

MC/DC is more rigorous than statement and decision coverage because it proves the independent influence of each condition, not just code execution or decision outcomes.

Coverage metric comparison:

  • Statement Coverage: Verifies that each executable line of code has been executed at least once during testing.

  • Decision (Branch) Coverage: Verifies that each decision evaluates to both true and false outcomes.

  • MC/DC (Modified Condition/Decision Coverage): Verifies that each individual condition within a decision can independently affect the decision outcome.

When Is MC/DC Required in ISO 26262?

When Is MC/DC Required in ISO 26262?

In ISO 26262, the required software coverage level depends on the Automotive Safety Integrity Level (ASIL). MC/DC is recommended for ASIL A, B, and C, and is highly recommended and effectively mandatory in practice for ASIL D software.

ISO 26262-6:2018, Clause 9.4.4 identifies MC/DC as a key verification method for detecting errors in complex logical expressions used in safety-critical automotive software.

Who Benefits from Implementing MC/DC?

Who Benefits from Implementing MC/DC?

MC/DC benefits multiple stakeholders across the safety-critical software lifecycle:

·       Software engineers detect complex logic defects early in development.

·       Safety managers demonstrate compliance with functional safety standards.

·       Project managers reduce late-stage rework and certification risks.

·       End users benefit from safer and more reliable systems.

FAQ

FAQ

MC/DC is recommended for ASIL A to C and effectively mandatory for ASIL D due to certification expectations and industry practice.

The number depends on the number of conditions in a decision. In general, MC/DC requires a minimum of N + 1 test cases for a decision with N conditions, though more may be needed in complex logic.

Stay informed

We’ll occasionally use your email address to share updates on upcoming webinars, events, and the latest news about our products and services.

External content - Hubspot

At this point you will find content from a third-party provider that you can display with one click.

By loading the form, personal data may be transmitted to the third-party provider. You can find more information in our privacy policy.