Initially created by the FAA for Level A software, MC/DC analysis shows that each sub-condition can independently affect the outcome of the entire condition. To prove this you must be able to capture the values of the result of the condition as well as the value of each sub-condition. VectorCAST/MCDC captures this information in two formats: an annotated source listing, and the equivalence pair matrices for each boolean condition. In addition, VectorCAST/MCDC for C and C++ can automatically generate MC/DC test cases to help achieve 100% pair coverage by generating input values and setting the required test pre-conditions for each test case.

  • Aggregate coverage metrics across multiple test runs and source files
  • Ensures all parts of a complex conditional have been tested
  • Easily identifies complex conditional statements


Satisfy MC/DC Code Coverage Criterion

Originally developed for the avionics industry as a means to ensure that the highest criticality software is tested adequately, Modified Condition / Decision Coverage (MC/DC) is a method of code coverage that is required, as specified by the DO-178B and DO-178C (ED-12B Europe) standards, during the development of Level A avionics software.

MC/DC is also highly recommended for use during the development of critical software for automobiles as defined by the ISO 26262 standard and for industrial controls as defined by the IEC 61508 standard.

To satisfy the MC/DC coverage criterion, during testing all of the below must be true at least once

  • Each decision tries every possible outcome
  • Each condition in a decision takes on every possible outcome
  • Each entry and exit point is invoked
  • Each condition in a decision is shown to independently affect the outcome of the decision

SOURCE: Hayhurst, Kelly; Veerhusen, Dan; Chilenski, John; Rierson, Leanna (May 2001). "A Practical Tutorial on Modified Condition/ Decision Coverage". NASA.

VectorCAST/MCDC supports both unique cause and masking MC/DC analysis.

Quantifying The Cost of Fixing vs Preventing Bugs

Do you know how much your organization spends on finding and fixing bugs over the course of a product life cycle? How about the opportunity cost of missed release dates, or the good will hit from unhappy customers?

Download Whitepaper


VectorCAST Modified Condition/Decision Coverage features include:

  • Supports code coverage analysis requirements for software applications with the highest level of criticality:
  • Automatic MC/DC test case generation to quicken the development of a full set of MC/DC test cases
  • Static analysis of MC/DC pairs to aid in understanding what testing needs to be done
  • Full reporting and documentation for each standard to ease process of certification
  • Support for MC/DC coverage during all phases of testing, from software unit testing up through high level system or functional testing
  • Can easily be combined with statement coverage to understand full coverage analysis
  • Coverage can easily be migrated across many test runs and many source code files
  • “What if” analysis can be performed since coverage for a particular test run can be turned on/off to see its impact on overall coverage

How it Works

Measuring MC/DC Coverage with VectorCAST/MCDC

VectorCAST for MC/DC provides two levels of verification for conditional expressions. The first level, MC/DC Branches, tracks each subcondition in an expression to verify that is has been tested with both True and False values. The second level, Equivalence Pairs, verifies if each subcondition can affect the value of the condition. This is done by generating a truth table for the expression and then finding a pair of rows in the table that will generate a different result when all values except the tested value remain constant. During execution, if both rows have been executed then the test proves that by changing only the tested value, the condition's value changes.

Understanding MC/DC Analysis

The output from VectorCAST's MC/DC analysis consists of two parts: an equivalence pair matrix and an annotated source listing.

For each boolean conditional there is a corresponding pair matrix. Each row in the matrix shows a unique combination of values for the components of the complex conditional, as well as the result of the condition for each combination. The equivalence pairs are pairs of rows which demonstrate that the result of the conditional changes from True to False as one component changes, while all other components are held constant.

The Equivalence Pair Matrix shows both the static pair analysis and the pair coverage achieved. The Pair A through Pair n columns (where n is the number of sub-conditions) show candidate row pairs for proving condition components. An asterisk next to a row number indicates that that row has been covered. When an equivalence pair has been covered, the Pa through Pn summary lines reflect that information.

The following example shows a single complex conditional with the corresponding equivalence pair matrix.

This source listing shows that the “if” condition has been executed with A=True, B=True (Row 1); A=False, B=True (Row 3); and A=False, B=False (Row 4). The MC/DC branch coverage is 5/6. Five out of a total of six outcomes have been satisfied, and the pair coverage is 1 of 2 pairs satisfied.


Vector Software's VectorCAST embedded software testing platform was identified as the ideal solution for developing critical software in compliance with...Read More »

Dr. Stefan Kaneff, Managing Director, EUROS Embedded Systems

Our leading solutions for Requirements Management, Quality Assurance, and ALM, optimally complement Vector Software’s advanced tools for automated software testing...Read More »

Michael Carey, President, Polarion Software

System test alone is ineffective in enabling organizations to achieve customer demanded quality and meet market opportunity windows. To achieve...Read More »

Axel Kehlenbeck, Sr. Analyst, Sentry Technology Group

The support we have received from Vector Software has been outstanding. Vector Software’s trainers and support staff consist of highly...Read More »

Stanislav Fligl, Core Team Leader, ŠKODA ELECTRIC

With the time savings introduced by VectorCAST, final software development phases could be reached early, reducing the total project costs....Read More »

Mauricio Ribeiro Barbieri, Software Engineer Manager, AEL Sistemas, A.S.

We are delighted that Vector Software has integrated its industry-leading VectorCAST suite with AdaCore’s GNAT Pro Safety Critical product for...Read More »

Jamie Ayre, Marketing Director, AdaCore

We are enthusiastic about the integration and partnership with such a high caliber test automation company such as Vector Software....Read More »

Regg Struyk, Product Manager, Polarion Software

We are excited to partner with Vector Software in offering developers a powerful, fully integrated solution for embedded systems development....Read More »

William E. Lamie, President, Express Logic, Inc.

Our confidence that VectorCAST will provide for our unit test needs is quite high and went beyond expectations.Read More »

Ronald L. Martinez, Information Technology, Raytheon Company

The VectorCAST testing environment is an ideal complement to the static analysis capabilities available in GNAT Pro, together providing a...Read More »

Cyrille Comar, Managing Director, AdaCore

I have been using VectorCAST C/C++ on embedded realtime projects for over 3 years. Creating unit tests has been greatly...Read More »

Alan Yorinks, Software Engineer, ITT Geospatial Systems

Although no hard cost saving metrics were generated comparing the use of VectorCAST/Ada vs. testing with other tools or testing...Read More »

Mark Hall, Test Consultant, Lockheed Martin

VectorCAST is a very important component in our embedded software development process allowing us to detect defects early and assure...Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe

The combined offering delivers an unparalleled solution for ensuring quality, reliability, and compliance in the development of critical software systems....Read More »

Michael Carey, President, Polarion Software

Our project requires compliance with DO-178B Level B, which will require stringent testing activities. We needed the best suite of...Read More »

Vladimir Baburov, Director, VNIIRA-Navigator

The open interfaces of VectorCAST give us the necessary flexibility to adapt VectorCAST to all needs in all our development...Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe

With VectorCAST we are able to quickly apply state of the art unit testing...Read More »

Yves Schenker, Embedded Software Engineer, Helbling Technik

Key to our selection of VectorCAST was that it offers a single software engineering platform that can manage process complexity...Read More »

Stefan Sauerer, MBtech

Big Thanks for this extra-ordinary service!!!Read More »

Ronald L. Martinez, Information Technology, Raytheon Company

Our test tool evaluation team considered a number of other applications for software testing. We ultimately chose VectorCAST for its...Read More »

Larry Rogers, Avionics Software Manager, Aurora Flight Sciences

We evaluated a number of test tools and were impressed with the VectorCAST automated solution. Using VectorCAST/C++, we have significantly...Read More »

Julieta Catania, Quality Manager, Tecme S.A.

Vector Software’s VectorCAST product suite is now more integrated with TI’s Code Composer Studio IDE than ever before, offering users...Read More »

John Stevenson, Product and Applications Manager, Texas Instruments

Automation in testing is typically considered in the context of meeting safety or regulatory requirements. VectorCAST supports our goal of...Read More »

Arun Devaraj, Senior Software Manager, Visteon Electronics

We decided to adhere to all the rules within MISRA and the QA.C tool made this extremely easy to achieve....Read More »

Lee Jaques, Senior Software Engineer, Marshall Aerospace

Vector Software’s VectorCAST is the leading automated software test tool for safety critical embedded systems, targeting mil/aero, medical and transportation....Read More »

Dan Mender, Vice President Business Development, Green Hills Software

VectorCAST is unique in that it provides us with the ability to increase the reliability and quality of our flight...Read More »

Wayne Young, Software Principal Engineer, Honeywell ASCa Inc.

VectorCAST made our job a lot easier.Read More »

Taeyoung Noh, Quality Assurance Manager NEOS Project, MDS Technology

The VectorCAST tools have greatly reduced the time it takes to fully test our code. VectorCAST/Manage allows us to...Read More »

Stanislav Fligl, Core Team Leader, ŠKODA ELECTRIC

Vector Software provides one of a kind capabilities to address the challenges of testing embedded software applications. Representing Vector Software...Read More »

Uri Farkash, Director of EDA Operations, Advanced Semiconductor Technologies

Vector Software engineers were extremely helpful in supporting our goal to achieve DO-178B certification in short amount of time....Read More »

Pauline Ng, GM Engineering and Technologies, Flight Focus

We are very pleased to work with Vector Software. The VectorCAST integration with FreeRTOS provides a engineers with a professional-grade...Read More »

Richard Barry, Director, Real time Engineers, Ltd.

We evaluated many embedded software testing tools during this process. We chose VectorCAST for its robust features and ease of...Read More »

Pauline Ng, GM Engineering and Technologies, Flight Focus

Overall, we reduced our testing effort 83% by using VectorCAST.Read More »

Taeyoung Noh, Quality Assurance Manager NEOS Project, MDS Technology

I would like to personally thank David Pierson for his hard work and dedication in helping us here at Northrop...Read More »

Fernando Anguiano, Senior Staff Software Engineer, Northrop Grumman Aerospace Systems

The right solution to provide our customers products with a superior level of quality.

Giuseppe Todaro, FW/SW Global Technical Leader, Electrolux

We evaluated VectorCAST based on very specific criteria that included the vendors’ experience in safety-critical embedded software testing and the...Read More »

Michael Dalpiaz, Development Manager, Imaging Systems, Sirona Dental

The capabilities of VectorCAST for unit/integration test and code coverage perfectly complement our existing static analysis solutions. Coupled with our...Read More »

Neil Langmead, Chief Operating Officer, Emenda Software

VectorCAST is the premier dynamic software analysis tool for embedded applications. We are very pleased that our partner, Vector Software,...Read More »

Mats Ullström, Product Director, IAR Systems

Vector Software’s integration with VxWorks Cert Platform further extends VectorCAST’s support for the comprehensive capabilities of the Wind River Workbench...Read More »

Joe Wlad, Senior Director of Product Management, Wind River

Vector Software has a proven record of developing the most advanced dynamic software testing solutions that address the real needs...Read More »

Neil Langmead, Chief Operating Officer, Emenda Software

The decision to use Vector Software's automated solution is driven by our need to achieve the highest levels of software...Read More »

Fábio Assis, Director, XMobots Robotic Systems

We carefully evaluated a number of tools and we were very impressed with the level of automation provided by the...Read More »

Steven Lincoln, C-130 Software Development Manager, Lockheed Martin Aeronautics

As part of our selection process we evaluated several freeware and commercially available off the shelf applications. We chose VectorCAST...Read More »

Helen Muth, Senior Director of Engineering, MEI Group

With its broad support for target compilers and integrated testing capabilities the VectorCAST applications fit well in our current and...Read More »

Sven Natus, Manager of Software Development , Fujitsu Semiconductor Europe

Trinity is committed to bringing the most innovative and advanced technologies in safety critical software development. We are convinced that...Read More »

Jeff Chen, Vice President, Trinity Technologies

We were impressed with Vector Software from the outset. VectorCAST provided excellent ease of use and functionality.Read More »

Chris Brown, Vice President of Engineering, Athena Technologies

VectorCAST matches our development paradigm exactly. Therefore the tool was simple to set up and integrate into our development process....Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe