Main Content

getCoverageInfo

Retrieve coverage information for Simulink Design Verifier blocks from cvdata object

Syntax

[coverage, description] = getCoverageInfo(cvdo, object)
[coverage, description] = getCoverageInfo(cvdo, object, metric)
[coverage, description] = getCoverageInfo(cvdo, object, metric, ignore_descendants)

Description

[coverage, description] = getCoverageInfo(cvdo, object) collects Simulink® Design Verifier™ coverage for object, based on coverage results in cvdo. object is a handle to a block, subsystem, or Stateflow® chart. getCoverageData returns coverage data only for Simulink Design Verifier library blocks in object's hierarchy.

[coverage, description] = getCoverageInfo(cvdo, object, metric) returns coverage data for the block type specified in metric. If object does not match the block type, getCoverageInfo does not return data.

[coverage, description] = getCoverageInfo(cvdo, object, metric, ignore_descendants) returns coverage data about object, omitting coverage data for its descendant objects if ignore_descendants equals 1.

Input Arguments

cvdo

cvdata object

object

In the model or Stateflow chart, object that received Simulink Design Verifier coverage. The following are valid values for object.

BlockPath

Full path to a model or block

BlockHandle

Handle to a model or block

slObj

Handle to a Simulink API object

sfID

Stateflow ID from a singly instantiated Stateflow chart

sfObj

Handle to a Stateflow API object from a singly instantiated Stateflow chart

{BlockPath, sfID}

Cell array with the path to a Stateflow chart or atomic subchart and the ID of an object contained in that chart or subchart

{BlockPath, sfObj}

Cell array with the path to a Stateflow chart or atomic subchart and a Stateflow object API handle contained in that chart or subchart

{BlockHandle, sfID}

Cell array with a handle to a Stateflow chart or atomic subchart and the ID of an object contained in that chart or subchart

metric

cvmetric.Sldv enumeration object, or a cell array of enumeration objects, with values that correspond to Simulink Design Verifier library blocks. If you don't specify a metric, getCoverageInfo returns coverage information for all available metrics for the specified object.

test

Test Objective (Simulink Design Verifier) block

proof

Proof Objective (Simulink Design Verifier) block

condition

Test Condition (Simulink Design Verifier) block

assumption

Proof Assumption (Simulink Design Verifier) block

ignore_descendants

Boolean value that specifies to ignore the coverage of descendant objects if set to 1.

Output Arguments

coverage

Two-element vector of the form [covered_outcomes total_outcomes].

covered_outcomesNumber of test objectives satisfied for object
total_outcomesTotal number of test objectives for object

coverage is empty if cvdo does not contain decision coverage results for object.

Note

If object receives coverage for multiple metrics, then the output argument coverage is a cell array with each cell corresponding to the objective outcomes for a metric. Each cell contains a two-element vector of the form [covered_outcomes total_outcomes].

description

Structure array containing descriptions of each objective, and descriptions and execution counts for each outcome within object.

Note

If object receives coverage for multiple metrics, then the output argument description is a cell array with each cell corresponding to the descriptions for a metric. Each cell contains a structure array containing descriptions of each objective, and descriptions and execution counts for each outcome within object.

Examples

Get coverage for all Proof Objective blocks in Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
covProof = getCoverageInfo(data, verifSubsys, cvmetric.Sldv.proof)

covProof is a two-element vector of the form [covered_outcomestotal_outcomes] showing 1 covered outcome out of 1 total proof objective outcome.

Get coverage for a specific Test Objective block in Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
testObjBlock = [verifSubsys '/Test Objective2'];
covTest = getCoverageInfo(data, testObjBlock)

covTest is a two-element vector of the form [covered_outcomes total_outcomes] showing 0 covered outcomes out of 1 total test objective outcome.

Get coverage data and descriptions for all available metrics recorded in Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
[covAll, descrAll] = getCoverageInfo(data, verifSubsys, ...
{cvmetric.Sldv.proof, cvmetric.Sldv.test})

covAll is a cell array with cells corresponding to the objective outcomes for each metric. descrAll is a cell array with cells corresponding to descriptions of each metric.

covAll{1} 
covAll{2} 

covAll{1} is a two-element vector of the form [covered_outcomes total_outcomes] showing 1 covered outcomes out of 1 total proof objective outcomes. covAll{2} is a two-element vector of the form [covered_outcomes total_outcomes] showing 0 covered outcomes out of 1 total test objective outcomes.

descrAll{1}
descrAll{2}

descrAll{1} is a structure array containing descriptions of each proof objective, and descriptions and execution counts for each outcome. descrAll{2} is a structure array containing descriptions of each test objective, and descriptions and execution counts for each outcome.

Alternatives

Use the coverage settings to collect and display coverage results for Simulink Design Verifier library blocks:

  1. Open the model.

  2. In the Model Editor, select Model Settings on the Modeling tab.

  3. On the Coverage pane of the Configuration Parameters dialog box, select Enable coverage analysis.

  4. Under Coverage metrics, select Objectives and constraints.

  5. Click OK to close the Configuration Parameters dialog box and save your changes.

  6. Simulate the model and review the results.

Introduced in R2009b