Tool Qualification 工具鉴定
本质与导读
本质 ISO 26262 不允许"工具可信"被假设、必须证明:工具(代码生成器/编译器/分析工具)可能把 ASIL D 需求悄悄改错。靠 TI × TD → TCL → TQL 判断要不要 qualify 及做多深——TCL 1 免做(占绝大多数),TCL 2/3 才需按 TQL 做,实操多直接引用供应商的 TQK 而非自做。
1. 为什么要 Tool Qualification
ISO 26262 把失效分两大类:随机硬件失效 + 系统性失效。Tool 错误属于后者——同一个工具错误会在所有用它的产品里复现,所以一旦上车会大规模召回。
真实案例:
- 2015 年某 OEM 的自动代码生成器把"signed int8"误转成"uint8",导致负扭矩命令变成正向最大扭矩——召回 5 万辆车,损失 ¥2 亿
- 编译器优化把"volatile"变量错误优化掉,导致电源监控漏检——召回案例多
Tool Qualification 的目标:对每个工具,要么证明"它不可能引入错误",要么证明"它就算引入错误,你也能查出来"。
2. TI × TD → TCL 决策链
ISO 26262 Part 8 §11 把工具分类为 3 步:
2.1 TI (Tool Impact)
TI 分 2 级 — 工具是否会引入或漏掉错误,这是 Tool Qualification 的入口判断:
| 等级 | 含义 |
|---|---|
| TI1 | 工具不会引入或漏掉错误 (即:出错也不影响产品安全) |
| TI2 | 工具可能引入或漏掉错误 (有安全影响) |
典型 TI1 例子:
- 配置管理工具 (Git):本身不修改代码内容
- 文档工具 (Word):写文档,不生成产品
- 项目管理工具 (Jira):跟踪任务,不参与产品
典型 TI2 例子:
- 编译器 (GCC, IAR, ARM Compiler):生成可执行代码
- 代码生成器 (Simulink Embedded Coder):从模型生成 C 代码
- 自动测试工具 (Vector CANoe):决定通过/失败
- 静态分析 (Polyspace, MISRA-checker):决定 bug 报或不报
2.2 TD (Tool Detection)
TD 分 3 级 — 工具错误的被发现能力,取决于后续验证流程能否抓到:
| 等级 | 含义 | 解释 |
|---|---|---|
| TD1 | 极高 | 工具错误几乎一定能被发现 |
| TD2 | 中等 | 工具错误有些可以发现,部分会漏 |
| TD3 | 低 | 工具错误很难被发现 |
TD 的判定取决于"后续验证流程能不能抓到工具错误":
- 编译器错误 → 单元测试 + MC/DC 覆盖率能抓出大部分 → TD1
- 代码生成器错误 → 如果有完整的 model-in-the-loop + HIL 测试 → TD2
- 自动需求拆分工具错误 → 如果没人审查 → TD3
2.3 TCL 决策表
TCL 由 TI × TD 矩阵决定 — 只有 TCL 2/3 需要 qualification,TCL 1 占 90% 实际工具直接放行:
| TI | TD1 | TD2 | TD3 |
|---|---|---|---|
| TI1 | TCL 1 | TCL 1 | TCL 1 |
| TI2 | TCL 1 | TCL 2 | TCL 3 |
关键认知:只有 TCL 2/3 工具需要 qualification——TCL 1 工具 (90% 实际工具) 直接放行。这是个"投入产出比"机制——不可能 qualify 所有工具。
3. TQL — 鉴定力度
TCL 2/3 工具需要 qualify,力度由 ASIL 等级决定:
| ASIL | TCL 2 工具 | TCL 3 工具 |
|---|---|---|
| QM/ASIL A | TQL 1 | TQL 1 |
| ASIL B | TQL 1 | TQL 2 |
| ASIL C | TQL 2 | TQL 3 |
| ASIL D | TQL 2 | TQL 3 |
TQL 4 一般不要求——除非 OEM 加严。
4. 四种 Qualification 方法 (1a-1d)
ISO 26262 Part 8 §11.4 提供 4 种鉴定方法,根据 TQL 选用:
4.1 方法 1a — Increased confidence from use
证明工具已经在很多类似项目用过,实战零问题。
- 依据:典型 ≥ 100 个项目使用案例,无安全相关问题报告
- 典型工具:GCC、Simulink、IAR、Vector CANoe (业界长期使用)
- 优点:成本低
- 缺点:需要工具供应商证据;新工具用不上
4.2 方法 1b — Evaluation of tool development process
证明工具开发流程本身遵循 ISO 26262/IEC 61508。
- 依据:工具供应商按 ASIL D 流程开发了这个工具
- 典型工具:Polyspace、QA-C、dSPACE TargetLink (高端付费工具)
- 优点:覆盖面广
- 缺点:工具供应商不肯给完整流程文档
4.3 方法 1c — Validation of the software tool
工具用户自己测试工具——精心设计测试用例,覆盖所有 use case。
- 依据:工具用户做了系统性 validation,覆盖所有功能
- 典型用法:小众工具 / 自研工具
- 优点:对任何工具都行
- 缺点:工作量大 (一个完整 validation 几人月起)
4.4 方法 1d — Development in accordance with safety standard
按 ISO 26262/IEC 61508 全套流程重新开发工具。
- 依据:工具按安全标准从头开发
- 典型用法:几乎不用——成本太高
- 典型工具:某些特定的安全相关工具供应商提供
4.5 TQL × 方法选择
TQL 越高需要叠加方法越多 — TQL 3+ 必须 1b + 1c 双重,单一方法不够:
| TQL | 推荐方法 |
|---|---|
| TQL 1 | 1a 或 1c |
| TQL 2 | 1a + 1b,或 1a + 1c |
| TQL 3 | 1b + 1c (双重) |
| TQL 4 | 1b + 1c + 1d (三重) |
5. 常用车规工具的 TCL 评估
下表是行业常见工具 + 典型评估 (具体看实际使用):
| 工具 | 典型 TCL | 一般 qualification 路径 |
|---|---|---|
| GCC / IAR / ARM Compiler | TCL 2-3 | 供应商提供 TQK + Tier-1 引用 (1a + 1b) |
| Simulink + Embedded Coder | TCL 3 | Mathworks 提供 TQK + Tier-1 引用 (1a + 1b) |
| dSPACE TargetLink | TCL 3 | dSPACE TQK (ISO 26262 certified) |
| Polyspace | TCL 2 | Mathworks TQK |
| MISRA Checker (LDRA/QAC) | TCL 2 | LDRA TQK |
| Vector CANalyzer/CANoe | TCL 2-3 | Vector TQK |
| DOORS / Polarion / Jama | TCL 1 | 无需 (只追踪需求) |
| Git / SVN | TCL 1 | 无需 |
| Jenkins / GitLab CI | TCL 2 | 1c validation |
| AUTOSAR Configuration Tool | TCL 3 | EB tresos / Vector DaVinci TQK |
| HIL 系统 (dSPACE/NI) | TCL 2-3 | 双方共同 1c |
| Manual review tools (Word/Excel) | TCL 1 | 无需 |
6. TQK — Tool Qualification Kit
TQK 是工具供应商提供的"qualification 文档包",Tier-1 引用即可,免去自做。
TQK 典型内容:
- 工具版本号 + 适用范围
- 已经过的方法 (1a/1b)
- 工具开发过程文档 (摘要)
- 已知问题清单 + workaround
- 用户责任说明 ("用户应做哪些 sanity check")
- 测试用例 + 测试报告
典型 TQK 提供商:
- Mathworks:Simulink/Embedded Coder TQK,覆盖 ISO 26262 ASIL A-D
- dSPACE:TargetLink TQK
- Vector:CANoe / DaVinci / CANalyzer TQK
- Elektrobit:tresos AUTOSAR config TQK
- Lauterbach:TRACE32 debug TQK
TQK 引用流程:
- Tier-1 下载工具供应商 TQK
- Tier-1 验证 TQK 适用版本与项目用的工具版本一致
- Tier-1 验证 TQK assumption (供应商假设) 与项目实际匹配
- Tier-1 在 Safety Case 里引用 TQK + 写补充说明
- Confirmation Review 时审计员检查 TQK 引用
7. Tool Qualification 与 topic-tsc-dia 的关系
DIA 必须列明 工具 qualification 责任分配:
| DIA 条款 | 内容 |
|---|---|
| 共享工具清单 | OEM/Tier-1/Tier-2 各自用什么工具 |
| TQK 互信 | OEM qualify 的工具,Tier-1 是否可直接用 |
| 联合验证 | 接口工具 (如 CAN database) 由谁 qualify |
| 新工具 PCN | 替换工具时如何重新 qualify |
典型场景:大众/Audi 已经把 Vector CANoe qualify 了,Tier-1 供应商可以引用大众的 TQK,免去重做。
8. Tool Qualification 失败的典型场景
Tool Qualification 失败模式集中在 5 个反复出现的坑:
| 场景 | 描述 | 预防 |
|---|---|---|
| TCL 评估太松 | 把代码生成器评成 TCL 1 (实际 TCL 3) | 评估表必须由安全经理签字 |
| TQK 版本错配 | 用 TQK 是 v3.0,实际工具 v4.0 | TQK 与工具版本必须严格匹配 |
| TQK assumption 没读 | 工具假设"只用 ASIL B 以下",实际用到 ASIL D | TQK assumption 表必须 review |
| 工具变更不重做 | 中途换了编译器版本,没重做 qualification | 任何工具变更触发 PCN + qualify |
| 自研工具忽略 | "我自己写的小脚本不算工具" | 任何参与安全工作的脚本都要评 TCL |
9. 5 个常见陷阱
Tool Qualification 执行失败总结:
| 陷阱 | 描述 | 预防 |
|---|---|---|
| 90% 工具都评 TCL 1 | 走过场,把 TI2 工具评成 TI1 | 严格按 §11.3 走 TI 评估 |
| 引用过期 TQK | 工具供应商 5 年前发的 TQK | 每年复查 TQK 时效 |
| Tool 错误溯源 | 出现 bug 后才发现 tool qualification 没做 | Phase 2 (Design Freeze) 前必须 qualify 完所有 TCL 2/3 |
| 工具组合未评 | A 工具 + B 工具组合使用,接口未 qualify | 工具链 (chain) 整体评估 |
| 跨项目复用未 review | 上一个项目 qualify 了,这个项目直接用 | 每个新项目重新 review TI/TD |
核心要点
- Tool Qualification 是 ISO 26262 Part 8 §11 强制——所有 TCL 2/3 工具都要 qualify。
- 评估链:TI × TD → TCL → TQL——只有 TCL 2/3 需要 qualification。
- 4 种方法:1a 历史使用 / 1b 工具开发流程 / 1c 用户 validation / 1d 重新开发。
- TQL 越高用越多种方法叠加:ASIL D + TCL 3 = TQL 3 = 1b + 1c 双重。
- TQK (Tool Qualification Kit) 是工具供应商提供的 qualification 文档包——Tier-1 引用即可,大幅省工。
- 主流 TQK 提供商:Mathworks / dSPACE / Vector / Elektrobit / Lauterbach。
- DIA 必须列明工具 qualification 责任分配——OEM 已 qualify 的工具,Tier-1 可引用。
- 实战陷阱:TCL 评太松、TQK 版本错配、自研脚本没评——Phase 2 前必须完成所有 TCL 2/3 工具 qualification。
Engineering Objects
引用此页的结构化 Engineeri…
引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。
- standard ·
standard_iso26262_part8— ISO 26262 Part 8 Supporting Processes
Cross-references
- ← 索引
- 功能安全 — 顶层 hub
- ISO 26262 Part 8 支持过程 — Tool Qualification 标准定义
- TSC + DIA — DIA 中工具责任分配
- Confirmation Measures — Tool Qualification 是 Review 检查项
- ASPICE — ASPICE PA 中 Tool 评估
- SEooC — SEooC 配套工具的 qualification
- Safety Case — Tool Qualification 是 Safety Case 章节
- PEU 全流程交付物 — Phase 2 前必交