主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

cvdata

R2025b

在 MATLAB 工作区中访问 Simulink Coverage 数据

描述

cvdata 对象存储模型覆盖率数据。

创建对象

当您对启用了覆盖率的模型进行仿真时,会自动生成 cvdata 对象。您可以使用覆盖率函数来访问覆盖率数据。cvdata 对象在您关闭或修改其父模型时将会失效。

属性

全部展开

此属性是只读的。

覆盖率数据来源版本,以字符数组形式返回。

数据类型: char

此属性是只读的。

内部覆盖率数据 ID,以标量形式返回。

数据类型: double

此属性是只读的。

内部覆盖率数据类型,如果是单次覆盖率仿真,则以 TEST_DATA 形式返回;如果是聚合或累积覆盖率数据,则以 DERIVED_DATA 形式返回。

数据类型: char

此属性是只读的。

测试数据,以 cvtest 对象形式返回。此属性描述覆盖率配置。

数据类型: cvtest

此属性是只读的。

内部根 ID,以标量形式返回。

数据类型: double

此属性是只读的。

覆盖率数据校验和,以结构体数组形式返回。对模型进行的某些更改会导致 checksum 发生变化,例如,编辑模型结构(如删除或添加模块)或更改某些配置参数。要聚合覆盖率结果,cvdata.checksum 属性必须匹配。

数据类型: struct

此属性是只读的。

模型信息,以结构体数组形式返回。此属性包含有关进行覆盖率分析的模型的元数据。

cvdata.modelinfo 具有以下字段:

字段

描述

值

modelVersion

进行覆盖率分析的模型的版本。

包含版本号的 character array

creator

模型的原始创建者。

系统名称或组织名称

lastModifiedDate

模型的上次修改日期和时间。

包含日期和时间的 character array

defaultParameterBehavior

指示默认参数行为设置。

'Tunable' | 'Inlined'

blockReductionStatus

指示是否启用了模块简化。

有关详细信息,请参阅模块简化。

'off' | 'on'

conditionallyExecuteInputs

条件输入执行开关。值 1 表示 'on',值 0 表示 'off'。

1 | 0

mdcdMode

用于修正条件决策覆盖率 (MCDC) 分析的定义。值 1 表示模型使用了 MCDC 的掩蔽定义,值 0 表示模型使用了 MCDC 的唯一原因定义。

有关详细信息,请参阅Simulink Coverage 中的修改条件和决策覆盖率 (MCDC) 定义。

1 | 0

analyzedModel

分析的模型或模型对象的名称。如果分析范围被限定在子系统、Stateflow® 图或其他模型对象,则这是该模型对象的路径。

character array

reducedBlocks

通过模块简化参数简化的模块列表(在启用了模块简化并且简化了任何模块的情况下)。

character array

ownerModel

在测组件或包含在测组件的模型。如果您有模块图框架,则这是该框架所测试的模型。如果您有子系统框架,则这是包含该子系统的模型。

character array

ownerBlock

如果模型包含子系统框架,则这是该框架正在测试的子系统。

character array

harnessModel

框架模型名称。如果您有从多次测试运行聚合的数据,且每次运行对相同的 ownerModel 使用不同的框架,则此字段显示 Not Unique。

character array

logicBlkShortcircuit

指示是否启用了短路选项。

0 | 1

数据类型: struct

仿真开始时的系统时间,以字符数组形式返回。

数据类型: char

仿真停止时的系统时间,以字符数组形式返回。

数据类型: char

覆盖率区间开始时间,以标量形式返回。此值来自 CovStartTime 参数。有关详细信息,请参阅覆盖率区间开始时间。

数据类型: double

覆盖率区间停止时间,以标量形式返回。此值来自 CovStopTime 参数。有关详细信息,请参阅覆盖率区间停止时间。

数据类型: double

覆盖率过滤器文件名,以字符数组或字符数组元胞数组形式返回。此属性包含覆盖率过滤器文件的名称。如果未应用覆盖率过滤器,则此字段为空。您可以在仿真后通过将有效过滤器文件的名称赋给此属性来应用覆盖率过滤器。

数据类型: char | cell

仿真模式,以字符数组形式返回。有关详细信息,请参阅仿真模式。

数据类型: char

是否在覆盖率报告中排除非活动变体,指定为 0 或 1。将此属性设置为 0 时,将在覆盖率报告中报告非活动变体;将此属性设置为 1 时,将从覆盖率报告中排除非活动变体。

此属性仅影响具有启动激活时间的 Simulink® 变体和 Stateflow 图中的非活动变体配置。

如果您聚合两个或多个具有不同 excludeInactiveVariants 值的 cvdata 对象,则得到的聚合 cvdata 对象的 excludeInactiveVariants 属性值将为 0。

示例: covData.excludeInactiveVariants = 1;

数据类型: double

对象函数

全部展开

cvhtml从模型覆盖率对象创建 HTML 覆盖率报告
cvmodelview以模型突出显示形式显示模型覆盖率结果
cvresults返回活动覆盖率数据,清除活动覆盖率数据以及从文件中加载活动覆盖率数据
cvsave将覆盖率设置和结果保存到文件中
extract从系统级覆盖率数据中提取子系统覆盖率数据
complexityinfo从 cvdata 对象中检索圈复杂度覆盖率信息
conditioninfo从 cvdata 对象中检索条件覆盖率信息
decisioninfo从 cvdata 对象检索决策覆盖率信息
executioninfo从 cvdata 对象检索执行覆盖率信息
getCoverageInfo从 cvdata 对象检索 Simulink Design Verifier 模块的覆盖率信息
mcdcinfo从 cvdata 对象中检索修正条件/决策覆盖率信息
overflowsaturationinfo从 cvdata 对象检索整数溢出覆盖率的饱和度
relationalboundaryinfo从 cvdata 对象检索关系边界覆盖率
sigrangeinfo从 cvdata 对象检索信号范围覆盖率信息
sigsizeinfo从 cvdata 对象检索信号大小覆盖率信息
tableinfo从 cvdata 对象检索查找表覆盖率信息

您可以对 cvdata 对象使用以下这些专门的 MATLAB® 运算符。

+

返回两个 cvdata 对象的并集。返回的 cvdata 对象包含两次仿真或测试的总聚合覆盖率。

-

返回左操作数和右操作数之间的差集。返回的 cvdata 对象包含左操作数满足但右操作数不满足的覆盖率目标结果。使用 - 来确定特定仿真或测试所实现的额外覆盖率。

* and .*

返回两个 cvdata 对象的交集。返回的 cvdata 对象仅包含两个操作数都满足的覆盖率。使用 * 来检测两次仿真或测试之间的重叠覆盖率。

示例

全部折叠

此示例说明如何查看模型中某个模块的决策覆盖率数据。

加载模型。

modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName);

使用 Simulink.SimulationInput 对象为模型配置覆盖率设置。

simIn = Simulink.SimulationInput(modelName);
simIn = setModelParameter(simIn,'CovEnable','on');
simIn = setModelParameter(simIn,'CovMetricStructuralLevel','Decision');
simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on');
simIn = setModelParameter(simIn,'CovSaveName','covData');

将 simIn 作为输入传递给 sim 来对模型进行仿真。

simOut = sim(simIn);

从 SimulationOutput 对象 simOut 中以 cvdata 对象形式提取覆盖率数据。

covData = simOut.covData;

通过使用模块路径调用 decisioninfo 来查看 Saturation 模块的决策覆盖率结果。

blockPath = [modelName,'/Saturation'];
decisionCov = decisioninfo(covData,blockPath)
decisionCov =

     3     4

decisioninfo 返回一个包含两个标量的数组。第一个值是满足的决策结果的数量,第二个值是总决策结果的数量。使用这些值来确定 Saturation 模块的满足的决策结果所占的百分比。

percentDecisionCov = 100 * decisionCov(1) / decisionCov(2)
percentDecisionCov =

    75

版本历史记录

在 R2006a 之前推出