代码测试与验证
适用于验证流程各个阶段的认证工具
安全关键系统中的软件缺陷可以导致人员受伤、产品召回以及认证失败。代码验证可确认软件是否正确实现其规范说明,并生成认证所需的书面证据。
为什么代码验证很重要
在受监管的行业中,必须证明各项需求已得到正确落实。若覆盖范围或可追溯性存在缺失,就会产生漏洞,这些漏洞会在认证审核中暴露出来,并导致产品发布延迟。
完整的验证方法
有效的验证将静态分析、动态测试、覆盖率测量和需求可追溯性整合到一个工作流中。每项活动都会产生相关证据,这些证据会直接纳入合规案例中。
- 用于早期缺陷检测的静态分析
- 用于运行时验证的测试
- 覆盖率分析以验证测试的完整性
- 可追溯性以确保正确性
探索验证工具
PC-lint Plus
PC-lint Plus可针对任何规模的C和C++代码库提供深入且经过认证的静态分析。开箱即用即可支持MISRA C和C++、AUTOSAR C++、CERT-C以及CWE,可集成到几乎任何构建链中,并且完全在本地运行。每个发现结果均可追溯,每次忽略操作均有记录。
VectorCAST
VectorCAST可自动完成安全关键型嵌入式软件的单测和集成测试。能够处理测试环境构建、桩函数生成、主机与目标机执行、满足包括MC/DC在内的所有必要覆盖级别的覆盖率度量,以及双向需求可追溯性。基于变更的测试(Change-Based Testing)可在大型代码库上保持较短的CI周期。
Squore
Squore将来自整个开发工具链的数据(包括静态分析结果、测试结果、代码覆盖率指标以及需求数据库)整合到一个统一的面板中。通过实施质量门控机制,确保整个团队和项目都能清晰掌握合规要求,并提供趋势分析功能,以便尽早发现质量下滑的迹象。
核心验证活动
静态分析
静态代码分析是在不执行源代码的情况下对其进行检查,从而能够及早发现缺陷、安全漏洞以及违反编码标准的情况。通过在测试开始前识别问题,能够提高代码质量、减少调试工作量,并支持可靠且符合规范的开发。
动态验证与测试
动态验证与测试通过运行软件来验证其运行时行为。通过系统地检查组件及其交互,该方法能够及早发现缺陷并确保功能正确性。VectorCAST可针对嵌入式C、C++和Ada语言实现该过程的自动化,并生成ISO 26262、DO-178C和IEC 61508标准所要求的结构覆盖率证明和需求可追溯性。
连续监控
持续监控通过跟踪分析与测试随时间推移产生的结果,提供项目层面的软件质量视图。能及早揭示趋势、差距和风险,从而支持做出明智的决策,并确保在复杂性不断增加的情况下,质量目标始终得到满足。
专为合规开发打造
PC-lint Plus已通过exida的认证,符合ISO 26262:2018(ASIL A至D级)、IEC 61508:2010(SIL 1至4级)、EN 50716以及IEC 62304标准。VectorCAST覆盖率测量结果已通过TÜV认证,符合所有ASIL级别的ISO 26262标准、所有DAL级别的DO-178C标准(包括A级中的MC/DC)、所有SIL级别的IEC 61508标准、IEC 62304以及EN 50716标准。认证文件包含在标准许可中,无需额外费用。如需资格认证套件,请随时联系我们。

