现在汽车行业的竞争日益激烈,公司要取得成功必须通过引进新型软件,来不断进行创新。在过去的100年里,汽车已经从简单的机械装置发展成为了由引擎控制、传动、悬吊、制动、娱乐等系统组成的集成机器,这些主要系统都应用了嵌入式软件。对于汽车行业的供应商而言,控制嵌入式系统的成本是极为重要的,因为嵌入式系统在本行业的使用量远远超过其他高安全性的行业。人们一直认为软件测试成本比较高,然而,在产品发布之前找出软件存在的问题却是降低成本的关键,因为这样既能避免产品品牌受损,又能减少产品召回造成的直接损失。因此,持续集成和测试对于汽车行业来说是非常必要的。
汽车软件的验证和确认标准
ISO 26262和MISRA是用于验证和确认车载软件的两大标准。ISO 26262《道路车辆——功能安全》是一个功能安全标准。这一标准是根据汽车电子/电气系统的功能安全标准IEC 61508衍生出来的。该标准的第六部分提出将软件测试和验证作为软件开发标准的一部分。测试不仅应该在单元级别,还需在系统级别进行,如功能测试(以需求为基础的测试和分区测试)和结构覆盖率测试。VectorCAST工具可以获取和报告ISO 26262提出的所有汽车安全完整性等级(ASIL)关于结构代码覆盖率的要求。ASIL是汽车专用的以风险为导向的,判定产品风险等级的方法。风险等级分为从A到D四个等级,D等级代表出现故障可能造成的最高风险。
TÜV SÜD认证的工具用以进行基于ISO 26262标准的与安全相关的开发
ISO 26262VectorCAST如何协助遵循ISO 26262标准
VectorCAST是一个能满足ISO 26262标准的嵌入式测试工具,符合该标准的第6部分关于软件开发的测试和验证的拟议,因为VectorCAST可以通过创建和管理测试用例,来证明已经对等级不高的软件需求进行了测试。VectorCAST也广泛用在坚固性测试中,如值域和边界测试。此外,VectorCAST工具还可以获取和报告ISO 26262所要求的各个级别的结构代码覆盖率。VectorCAST/C++是针对C 和 C++ 语言进行单元和集成测试的测试工具,它与针对系统级别进行测试验证的VectorCAST/Cover相结合,为主机、模拟器和目标级测试提供了一个完整的动态测试组。- 支持ISO 26262所要求的各个级别的代码覆盖率:语句+分支
- 支持以汽车安全完整性等级(ASIL)为基础的差异测试需求
- 支持自动生成并完整编译的测试桩,以及单元和集成测试的驱动程序
- 支持自动化回归测试
- 支持将测试用例与需求进行映射
- 支持坚固性测试
- 支持数值越界测试
- 支持边界条件测试
- 支持在主机、模拟器、嵌入式目标系统上执行测试
MISRAMISRA的集成支持
自从汽车工业软件可靠性联合会(MISRA)出台了C编程规范之后,静态分析便成为汽车应用开发流程的重要组成部分。《汽车专用软件的C语言编程指南》于1998年首次发行,用以提高汽车工业在C语言方面的使用安全。该指南里包含了定义C语言子集的规则,现在该规则已经被广泛接受,成为良好编程习惯的模板。
《MISRA C++:2008 C++语言在关键系统标准中的使用指南》发行于2008年,为C++语言制定了相似的规则。VectorCAST/Lint整合了Gimpel Software公司的lint分析引擎。VectorCAST/Lint为MISRA C,MISRA C 2004,MISRA C++
2008提供了现成的校验方法,可以分析源代码并检测不符合MISRA规范的语法结构。VectorCAST/Lint既可检验单个源文件,也可检验整个程序,并提供完整的报告。
VectorCAST/Lint静态分析模块为嵌入式软件提供以下测试功能:- 已有MISRA规范支持C和 C++检测
- 静态变量跟踪
- 线程分析
- 多维分析
- 源码中直接标识违规信息
- 描述和解释信息的窗口
- 信息过滤
- 图形化的分析配置
- 可定制的报告
认证工具ISO 26262认证
VectorCAST产品系列已经通过TÜV SÜD认证,适用于与安全相关的开发。TÜV SÜD已对Vector Software公司的产品进行评估并颁发了工具合格认证,因此该产品能够为开发组织提供产品符合IEC 61508和ISO 26262标准所需的证据。
VectorCAST IEC认证工具包提供了IEC
61508和ISO 26262的文件、证书及模板,所以VectorCAST适用于以IEC 61508 和ISO 26262标准为基础进行开发的项目。这套工具包里包含TÜV SÜD认证机构根据现有规范和以产品为导向的验证流程所生成的证书和报告。
VectorCAST IEC认证工具包能够为组织提供证明产品符合IEC 61508和ISO 26262标准所需的材料。