MATLAB: Do condition coverage and MCDC results for a Stateflow truth table fail to appear in the coverage report

conditioncoveragemcdcstateflowtabletruth

I have a model containing a Stateflow Truth Table function that specifies conditions for transitions. When I generate a coverage report for the model, the condition coverage and MCDC results do not appear in the report. To reproduce the behavior, simulate the attached model (note that it will automatically generate the coverage report).

Best Answer

This change has been incorporated into the documentation in Release 2009b (R2009b). For previous releases, read below for any additional information:
Below is the explanation as to why condition coverage and MCDC results are not always included in a model coverage report:
When you collect coverage for truth tables, the Model Coverage tool treats the value of condition expressions as simple Boolean inputs. For a condition such as "A&&B", the values of A and B are not separated for coverage purposes; but the expression value is considered as an input to determine coverage. This is a known limitation of the Model Coverage tool based on the way that truth tables are implemented in Stateflow.
Condition coverage and MCDC occur when columns in the truth table specify more than one non-default entry (either T or F). In this situation, the conditions and MCDC requirements are based on the table entries. Each element in the condition table must independently cause the column to change from satisfied to unsatisfied to fulfill MCDC coverage.
If every row of a truth table decision column specifies "-", except for a single row that specifies either T or F, the column will receive only decision coverage because it represents a decision with a single predicate. The attached model demonstrates this situation; therefore, the table receives no condition or MCDC coverage. On the other hand, if the columns of the decision table specified more than one T or F, it would receive condition and MCDC coverage.