产品中心

致力于为用户提供创新的解决方案和高品质的产品

Simulink Check

衡量设计质量、跟踪验证活动并验证标准合规性

Simulink Check 提供了规模和复杂度等指标,以评估设计的状态和质量。模型测试仪表板可整合来自基于需求的测试活动的数据,以跟踪测试状态。自动模型重构可用于替换建模克隆,降低设计复杂度,并识别可重用的内容。模型切片器工具可以隔离模型中有问题的行为,并生成简化模型以用于调试。

配合 IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178),还可实现对行业标准的支持。

检查行业标准合规性

使用针对行业标准(例如 ISO 26262、DO-178C、DO-331、DO-254、IEC 61508、ISO 25119、IEC 62304、EN 50128、MISRA C:2012、MathWorks Advisory Board 咨询委员会 (MAB) 指南、JMAAB、CERT C、CWE 和 ISO/IEC TS 17961)的预配置检查。

自定义模型检查

配置、自定义和自动化自定义模型顾问检查,以确保模型符合您所在机构自己的标准和指南。

在编辑同时查找并修复错误

使用编辑时检查来标识错误,并在引入错误时就解决它们,以避免以后返工。为 Simulink®、System Composer™ 或 Stateflow® 创建自定义编辑时检查,以满足您所在组织自己的标准。

基于模型的设计与 CI/CD 自动化

使用 CI/CD Automation for Simulink Check™ Support Package 简化实施并优化适用于 Simulink 的持续集成/持续部署 (CI/CD) 工作流。您可以定义 CI/CD 管道,在桌面端进行预审以避免编译失败,与诸如 Jenkins® 或 Gitlab® 等 CI 系统集成,并执行增量编译以减少编译时间。

跟踪基于需求的测试

监控单元测试交付物的状态和质量,以评估基于需求的测试的完整性以及是否符合 ISO 26262 和 DO-178C 标准。使用 SIL 代码测试控制板和 PIL 代码测试控制板中的度量结果评估软件在环 (SIL) 和处理器在环 (PIL) 测试的代码测试状态和质量。

衡量质量、复杂度和可维护性

使用模型指标评估模型的大小、架构和复杂度,以帮助提高工程中 MATLAB®、Simulink® 和 Stateflow® 工件的可读性、可维护性和可重用性。控制板集中显示各种指标,帮助您监控 ISO 26262、DO-178C、IEC 61508、IEC 62304、EN 50128 和其他标准的合规进度。

自动化模型审查和报告

为审查生成模型顾问报告。对违规情况进行申诉以去除警告和错误。使用 Parallel Computing Toolbox™ 以并行方式在多台计算机上运行检查以加速合规性验证。

简化和调试复杂模型

使用模型切片器,通过基于仿真期间活动行为的静态和动态分析的组合来高亮显示功能依存关系。调试错误,例如基线测试 (4:03)或等效性测试失败、属性证明的反例 (6:33)或整数溢出。

标识和重构模型中的建模克隆

分析模型以定位克隆和重复的建模模式。自动重构以改进可维护性、提高重用性并降低设计复杂度。检测低效模式并对其重构以提高代码效率。

 

Simulink Coverage

测量模型和生成的代码的测试覆盖率

Simulink Coverage 生成交互式报告,显示您的模型、C/C++ S-Function、MATLAB® 函数和 Embedded Coder® 生成的代码中有多少已被执行。您可以在模块和子系统中高亮覆盖率结果,以直观地显示测试缺口。为了评估测试的完整度,您可以累积多次测试运行的覆盖率数据,并查看通过单元和系统测试实现的覆盖率。覆盖率结果可以追溯到需求和测试。您可以应用筛选器从覆盖率中排除部分模块,或者解释报告中的缺失覆盖率。

结合 DO Qualification Kit 和 IEC Certification Kit,该工具还可支持行业标准。

模型覆盖率

测量仿真测试对设计的覆盖率,以评估测试的有效性和完整性。分析在基于需求的测试期间收集的覆盖率信息,确定是否存在测试缺口、缺失需求或非预期功能。

代码覆盖率

测量使用 Embedded Coder 生成的代码的软件在环 (SIL) 和处理器在环 (PIL) 测试的覆盖率,或在 Simulink® 模型中调用的代码的覆盖率。

管理聚合覆盖率结果

汇总多个仿真的覆盖率。查看通过单元测试实现的系统测试覆盖率。

覆盖率指标

根据各种指标测量模型和代码覆盖率,包括决策、条件、MCDC、关系边界和信号范围。

处理缺失覆盖率

筛选阻止完整测试覆盖率的模型构造(例如防御性建模模式)以重点测试设计的其他部分。

生成覆盖率报告

生成详细报告,其中包括所选指标的累积覆盖率结果。查看模型元素和测试的需求可追溯性详情。

 

Simulink Design Verifier

识别设计错误、证明需求合规及生成测试

Simulink Design Verifier 可以生成测试用例以满足模型覆盖率和自定义目标,从而扩展现有的基于需求的测试用例。这些测试用例有助于您的模型满足条件覆盖率、决策覆盖率、修正条件/决策覆盖率 (MCDC) 以及自定义覆盖率目标。除了满足覆盖率目标外,您还可以指定自定义的测试目标来自动生成基于需求的测试用例。

配合 IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178 and DO-254),可实现对行业标准的支持。

验证需求

在开始设计之前,检查已建模的需求的一致性和完整性。

检测运行时和诊断错误

在运行仿真之前,您可以检测运行时和建模错误,包括整数溢出、除以零、数组越界、非规范值、浮点误差以及数据有效性错误。

查找死逻辑

在模型中查找那些在仿真和执行生成的代码时无法激活的对象。

分析测试覆盖率缺失

增强和扩展现有手动创建的测试用例,以解决不完整的模型覆盖率以及从 Simulink® 模块和 Stateflow® 图中调用的生成代码和 C/C++ 代码的覆盖率。

验证形式安全需求

验证您的设计是否符合使用 MATLAB®、Simulink 和 Stateflow 表达的 形式化定义的安全需求 (3:53)。

创建基于需求的测试用例

从系统需求模型生成测试用例。

 

Simulink Test

开发、管理和执行基于仿真的测试

借助 Simulink Test,您可以创建非介入式测试框架来隔离受测组件。您可以使用基于文本的语言定义基于需求的评估,并以各种格式(包括 Microsoft® Excel®)指定测试输入、预期输出和容差。Simulink Test 包括 Test Sequence 模块和测试管理器,前者用于构造复杂的测试序列和评估,后者用于管理和执行测试。Observer 模块可用于访问设计中的任何信号,而无需更改模型或模型接口。您可以组织大量测试,并将其以并行方式或在持续集成系统上执行。

您可以将测试追溯到需求(使用 Requirements Toolbox™),并通过 Simulink Coverage™ 生成包含测试覆盖率信息的报告。

配合 IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178 and DO-254),可实现对行业标准的支持。

编写基于需求的测试、背靠背测试和回归测试

使用测试模板创建仿真测试、基线测试和等效性测试。使用多种格式定义测试数据:MAT 文件、Excel 电子表格、MATLAB® 代码;使用 Signal Editor 模块以图形方式进行定义,以编程方式通过 Test Sequence 模块创建测试输入序列,或使用 Simulink Design Verifier™ 自动生成的测试输入。

通过持续集成实现测试自动化

通过并行执行,提高大型测试套件、迭代和大型 Simulink® 模型的吞吐量。测试可以单独执行,也可以批量执行,以自动执行测试并建立标准化测试环境。使用 MATLAB 单元测试运行模型测试,以便能够在持续集成 (CI) 系统(如 Jenkins™)内进行集成。

执行测试、查看结果和进行调试

使用 Simulink Real-Time™,在普通仿真模式、加速模式、快速加速模式、软件在环 (SIL) 模式、处理器在环 (PIL) 模式或实时硬件在环 (HIL) 模式下执行和调试测试。 使用 Simulink Test™ Support Package for ASAM® XIL Standard 通过 Simulink Test 控制第三方 HIL 硬件。

隔离组件以进行单元测试

测试框架提供了用于隔离 Simulink 模型或模型组件的集成仿真环境。对模型或模型组件运行测试特定的仿真,同时在模型与测试框架之间同步设计更改。使用观测器,无需添加仅用于测试的端口、模块、连接或接口,即可调试和测试 Simulink 信号。

编写测试序列和评估

使用一部分 MATLAB 语言功能,包括时序运算符、信号生成器和条件构造,通过基于测试步的测试序列和时序测试序列编写测试并评估仿真结果。

验证时序需求

以自然语言格式编写具有精确语义的时序评估的测试。这些测试可通过条件、事件、信号值和延迟准确地对复杂的时序依赖行为进行建模。

生成测试报告并对测试结果进行存档

Simulink Test 显示已执行测试的摘要和详细信息。要与其他人共享结果,请将测试结果导出到文件,以供日后在测试管理器中查阅。生成报告,其中包括测试结果、测试摘要和用于测试比较的任何标准。这些报告可以使用 Simulink Report Generator™ 进行自定义。

测量模型和代码覆盖率

通过 Simulink Coverage™,可收集覆盖率指标,如决策、条件、修正条件/决策覆盖率 (MC/DC) 和关系边界覆盖率。根据测试管理器中的覆盖率结果,使用 Simulink Design Verifier 针对没有覆盖到的情况生成测试用例。

使用多个 MATLAB 版本运行测试用例

使用从 R2011b 开始的多个 MATLAB 版本运行测试用例,这使您能够在其生产版本中执行模型,同时利用 Simulink Test 的最新验证功能。

 

Polyspace Access

识别编码缺陷,查看静态分析结果,并监控软件质量指标

您可以使用 Polyspace as You Code 来检测关键缺陷和安全漏洞,并检查代码是否符合编码规则标准,如 MISRA C®、MISRA C++、AUTOSAR C++14、CERT® C、CERT C++,以及自定义命名约定。作为开发人员使用的 IDE(如 Visual Studio®、Visual Studio Code 或 Eclipse™)的插件,Polyspace as You Code 可在源代码视图中报告结果。当连接到 Polyspace Access 中央存储库时,它还可以将结果与开发基线比较并只突出显示新问题。

Web 界面让开发人员和质量工程师能够就静态代码分析结果跨项目协作。从项目控制板到查找细节,团队成员可以监控质量趋势,并分析、审核软件漏洞、代码指标、关键运行时错误以及对编码标准的遵守情况,然后指定其负责人。与 JIRA 等项目管理工具的集成支持团队就代码质量进行协作。Polyspace Access 包括在本地托管或位于云端的中央存储库,它可与 LDAP 等身份验证系统集成在一起,以控制对项目数据的访问。

在您的 IDE 中识别 Bug

在 Visual Studio®、Visual Studio Code 或 Eclipse 等 IDE 中,借助 Polyspace as You Code 插件在编写或修改代码的同时识别 Bug。使用 API 集成到其他 IDE 和编辑器中。

遵守编码标准和安全规则

在您编码时,强制执行已嵌入的软件编码规则,例如 MISRA C 和 MISRA C++、CERT C 和 CERT C++、AUTOSAR C++14、JSF++ 和自定义命名约定。

静态分析结果的审核与分类

在您的 Web 浏览器中查看 Polyspace® 结果和与其相应的源代码。使用导航工具调查和分类结果。共享发现和注释以与团队成员协作。

监控项目软件质量

组织您的静态代码分析项目,以支持开发团队和工作流。使用项目控制板上显示的信息来监控软件质量、项目状态、缺陷数量和代码指标。

与软件开发和 CI 工具集成

将 Polyspace Access 与持续集成 (CI)工具、Bug 跟踪工具、应用程序生命周期管理 (ALM) 工具和开发工具相集成。

 

Polyspace Bug Finder

运用静态分析找出软件 Bug

Polyspace Bug Finder 可检查代码是否符合编码规则标准,如 MISRA C®、MISRA C++、AUTOSAR C++14、CERT® C、CERT C++ 和自定义命名约定。它可以生成报告,其中包括发现的 Bug、代码违规和代码质量指标,如圈复杂度。

对于自动生成的代码,可以将 Polyspace® 结果追溯到 Simulink® 模型和 dSPACE® TargetLink® 模块。

通过 IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178),可提供对行业标准的支持。

识别软件 Bug 和漏洞

找到许多不同类别的 Bug,如安全漏洞、并发性和数值缺陷。为任何编译器、目标处理器和 RTOS 环境配置分析。

编码标准合规性

强制执行已嵌入的软件编码规则,例如 MISRA C 和 MISRA C++、AUTOSAR C++14、JSF++ 和自定义命名约定。

静态应用程序安全性测试

通过检测安全漏洞和问题,确保应用程序的安全性。遵守安全编码标准和规范,如 CERT C/C++、CWE、ISO 17961 和 MISRA C:2012 Amendment 1。

认证支持

创建完成行业功能安全和网络安全标准(如 IEC 61508、ISO 26262、ISO/SAE 21434 或 DO-178C)认证流程所需的交付物。交付物可支持最高的功能安全性或安全级别。

Simulink 和 Stateflow 集成

对生成的代码运行分析,并将发现从源代码追溯到相应的 Simulink 模型模块或 Stateflow® 图。在 Simulink 环境内启动 Polyspace 分析。

监控软件质量

生成代码指标,以评测和改进源代码的质量。对照质量阈值比较分析结果。

桌面端的交互式分析

在桌面计算机上运行分析,并查看发现结果。使用类似调试器的视图、事件追溯和调用图找出复杂 Bug 的根本原因。解决发现的问题,并生成报告。

 

Polyspace Bug Finder Server

通过在服务器上运行的静态分析识别软件缺陷

使用 Polyspace Bug Finder Server,您可以在项目、文件和函数级别监控代码指标,包括圈复杂度和 HIS。您可以将服务器配置为与各种编译器、目标处理器和 RTOS 环境结合使用,并使用 Jenkins® 等工具将其与持续集成系统一起自动执行。代码分析结果可以发布到 Polyspace Access™ 进行分类和解决。

通过 IEC Certification Kit(ISO 26262 和 IEC 61508)和 DO Qualification Kit(DO-178),可提供对行业标准的支持。

识别软件 Bug 和漏洞

找到许多不同类别的 Bug,如安全漏洞、并发性和数值缺陷。为任何编译器、目标处理器和 RTOS 环境配置分析。

编码标准合规性

强制执行已嵌入的软件编码标准,如 MISRA C 和 MISRA C++、AUTOSAR C++14、JSF++ 和自定义命名约定。

静态应用程序安全性测试

通过检测安全漏洞和问题确保您的代码安全,并使其遵守安全编码标准和规范,如 CERT C/C++、CWE、ISO 17961 和 MISRA C:2012 Amendment 1。

认证支持

创建完成行业安全性和安全标准(如 IEC 61508、ISO 26262、ISO/SAE 21434 或 DO-178C)认证流程所需的交付物。交付物可支持最高的功能安全性或安全级别。

在任何平台上运行静态代码分析

在本地或云中的自动化服务器上运行 Polyspace Bug Finder Server。使用 MathWorks® 参考架构在 Docker、AWS® 和 Azure® 等平台上进行部署。

自动化并集成到开发运营一体化中

通过接入现有开发运营一体化工作流和工具支持现代软件开发实践。Polyspace® 可与流行的持续集成工具(如 Jenkins 和 Bamboo®)协同工作。

 

Polyspace Code Prover

证明软件中不存在运行时错误

Polyspace Code Prover 还显示变量和函数返回值的范围信息,并且可以证明哪些变量超出指定范围限制。结果可以发布到控制板上,以跟踪质量指标并确保符合软件质量目标。

通过 IEC Certification Kit (for IEC 61508 and ISO 26262) 和 DO Qualification Kit (for DO-178),可提供对行业标准的支持。

证明不存在严重的运行时错误

根据所有可能的输入,在不执行代码的情况下分析所有代码路径。识别无论运行时条件如何都永远不会遇到运行时错误的语句,并找出其他需要注意的语句。

改进软件设计和代码理解

检查 C/C++ 代码中的控制流和数据流,查看与变量和运算符相关联的范围信息。

优化软件性能

通过识别安全可靠的运算(如除以零和溢出)来删除防御性代码。检测无法通过任何执行路径到达的代码分支。找出逻辑和程序结构中的错误,删除它们以减少内存占用。

分析全局变量用法

减少调试全局变量(包括任务或线程共享的变量)的读/写操作所花费的时间。 使用并发访问图了解可能导致数据竞争问题的控制流和数据流。识别未使用的全局变量以进行代码优化。

认证支持

创建完成行业标准认证过程所需的交付物。经 TÜV 南德认证,符合 IEC 61508 和 ISO 26262 标准。使用为 DO-178C 流程准备的报告和交付物。

Simulink 和 Stateflow 集成

对生成的代码运行分析,并将您的发现追溯到源 Simulink® 模型模块和 Stateflow® 图。从 Simulink 环境中启动 Polyspace® 分析。

在桌面端进行交互式分析

对整个或部分软件项目运行静态代码分析。使用桌面工具生成报告,并对结果进行审核和分类。 使用类似调试器的视图步进运行时错误之前的每个语句,以找到复杂 Bug 的根本原因。组织和配置您的项目。Polyspace Code Prover 原生支持 60 多种 C 和 C++ 编译器,以及自动设置从项目的编译系统中提取的 Polyspace 分析。

静态应用程序安全性测试

证明不存在严重的安全漏洞,例如缓冲区溢出、内存访问溢出和数值溢出。通过在不执行代码的情况下分析所有代码路径和输入下的代码,减少对模糊测试的需求。

 

Polyspace Code Prover Server

证明软件中不存在运行时错误

Polyspace Code Prover Server 可以在服务器级计算机上运行,并可以使用 Jenkins® 等工具集成到编译和持续集成系统中,以进行自动验证。分析结果可以发布到 Polyspace Access™ 进行分类和解决。

通过 IEC Certification Kit (for ISO 26262 and IEC 61508) 和 DO Qualification Kit (for DO-178),可提供对行业标准的支持。

证明不存在严重的运行时错误

根据所有可能的输入,在不执行代码的情况下分析所有代码路径。识别无论运行时条件如何都永远不会遇到运行时错误的语句,并找出需要注意的其他语句。

自动化并集成到开发运营一体化中

通过接入现有开发运营一体化工作流和工具支持现代软件开发实践。Polyspace® 可与流行的持续集成工具(如 Jenkins 和 Bamboo®)协同工作。

在任何平台上运行静态代码分析

在本地或云中的自动化服务器上运行 Polyspace Code Prover Server。使用 MathWorks® 参考架构在 Docker、AWS® 和 Azure® 等平台上进行部署。

认证支持

创建完成行业标准认证过程所需的交付物。经 TÜV 南德认证,已通过 IEC 61508 和 ISO 26262 的最高功能安全级别。支持 DO-178C 鉴定。

防止意外软件行为

识别所有通过任何执行路径都无法访问的代码节以及逻辑和程序结构上的错误。

分析全局变量用法

减少调试全局变量的读/写操作问题所花费的时间。识别未受保护的共享变量和未使用的变量。

静态应用程序安全性测试

证明不存在严重的安全漏洞,例如缓冲区溢出、内存访问和数值溢出。在不执行代码的情况下使用所有代码路径和输入分析代码,从而减少对模糊测试的需求。

 

Polyspace Client for Ada

证明源代码中不存在运行时错误

在编译和测试之前,您可以在桌面端使用 Polyspace Client for Ada 来运行和查看代码分析。

证明不存在严重的运行时错误

检查 Ada83 或 Ada95 代码操作的运行时正确性。识别无论运行时条件如何都不会遇到运行时错误的语句。在事件跟踪、变量值范围和与发现相关的调用树的支持下,分析运行时漏洞。Polyspace Client for Ada 使用形式化方法来检测其他测试手段无法找出的错误。根据所有可能的输入,在不执行代码的情况下分析所有代码路径。

桌面端的交互式分析

组织和配置您的工程,并在将代码提交到源代码存储库之前对一部分软件工程运行静态代码分析以验证代码更改是否符合要求。使用 Polyspace Client for Ada 生成报告,并审核和对结果分类。使用类似调试器的视图步进运行时错误之前的每个语句,以找到复杂 Bug 的根本原因。

改进软件设计和代码理解

检查软件控制流和数据流,以查看与变量和运算符相关联的范围信息。

优化软件性能

通过识别安全可靠的运算(如除以零)来删除防御性代码。检测无法通过任何执行路径到达的代码分支以及逻辑和程序结构上的错误,并删除它们以减少内存占用。

分析全局变量用法

减少调试全局变量(包括任务或线程共享的变量)的读/写操作所花费的时间。使用并发访问图了解导致数据竞争的控制流和数据流。识别未使用的全局变量以进行代码优化。

静态应用程序安全性测试

通过详尽地对潜在的易受攻击的 Ada 语句进行压力测试,如内存访问、缓冲区溢出或数值溢出,证明应用程序没有严重的安全漏洞。支持 20 条 CWE 弱点规则。利用 Polyspace Client for Ada 的分析结果来补充或取代模糊测试,转而关注易受攻击的已识别操作。

改进和补充稳健性和功能测试

使用 Polyspace Client for Ada,通过将测试重点放在已被证明不安全的语句(如除以零或溢出)上来改进稳健性测试。利用控制流和数据流分析以及计算出的函数参数和全局变量范围,使用 Polyspace Client for Ada 提供的结果来创建和维护边界测试与分区测试。

 

Polyspace Server for Ada

在计算机集群上执行代码验证并发布指标

您可以在服务器级别计算机上运行 Polyspace Server for Ada,并使用 Jenkins® 等工具将其集成到编译和持续集成系统中进行自动验证。分析结果可使用 Polyspace Client™ for Ada 进行审核,或发布到 Polyspace Access™ 进行分类和解决。

证明不存在严重的运行时错误

详尽检查每个 Ada83 或 Ada95 代码操作的运行时正确性。识别无论运行时条件如何都永远不会遇到运行时错误的语句。在事件跟踪、变量值范围和与发现相关的调用树的支持下,分析运行时漏洞。Polyspace Server for Ada 使用形式化方法来检测其他测试手段无法找出的错误。在不执行代码的情况下,针对所有可能的输入分析全部代码路径。

自动化并集成到开发运营一体化中

将分析集成的代码作为现有开发运营一体化工作流和工具的一部分,以此支持现代软件开发实践。Polyspace Server for Ada 可与流行的持续集成工具(如 Jenkins 和 Bamboo®)协同工作。

改进软件设计和代码理解

检查软件控制流和数据流,查看与变量和运算符相关联的范围信息。

优化软件性能

通过识别安全可靠的运算(如除以零)来删除防御性代码。检测无法通过任何执行路径到达的代码分支以及逻辑和程序结构上的错误,并删除它们以减少内存占用。

分析全局变量用法

减少调试全局变量(包括任务或线程共享的变量)的读/写操作所花费的时间。使用并发访问图了解导致数据竞争的控制流和数据流。识别未使用的全局变量以优化代码。

静态应用程序安全性测试

通过详尽地对潜在的易受攻击的 Ada 语句进行压力测试,如内存访问、缓冲区溢出或数值溢出,证明应用程序没有严重的安全漏洞。对 20 条 CWE 弱点规则的支持。利用 Polyspace Server for Ada 生成的结果来补充或取代模糊测试,转而关注易受攻击的操作。

改进和补充稳健性和功能测试

使用 Polyspace Server for Ada,通过将测试重点放在证明不安全的语句(如除以零或溢出)上来改进稳健性测试。利用控制流和数据流分析以及计算出的函数参数和全局变量范围,使用 Polyspace Server for Ada 提供的结果来创建和维护边界测试与分区测试。

管理静态分析项目并监控项目质量

组织您的 Ada 静态代码分析项目,以使用 Polyspace Access 支持开发团队和工作流。使用控制板上显示的信息来监控软件质量、项目状态、缺陷数量和代码指标。

确认、验证和测试