部署手记 001|我们的验证工具链,有两条规则从未生效过
一套跑了很久的静态检查工具,报告一直显示「未发现静态问题」。直到我们造了一个故意塞满缺陷的样本,才发现「除零风险」与「数组越界风险」这两条规则从写下第一天起就从未命中过 —— 正则没有考虑 SCL 局部变量的 # 前缀。
由此又查出三种同类病:规则过宽(常量被误判)、噪声淹没(一个块报 17 条同类告警)、解析错误(把 ELSIF (...) 当成块调用)。五种失效形态的共同点是:它们都不会报警。
原文见公众号「智能体驻场日记」
同行都在说自己有多准。我们更愿意说清楚:哪一层检查过、哪一层没检查、以及我们的工具自己最近一次自检是什么时候。
一套跑了很久的静态检查工具,报告一直显示「未发现静态问题」。直到我们造了一个故意塞满缺陷的样本,才发现「除零风险」与「数组越界风险」这两条规则从写下第一天起就从未命中过 —— 正则没有考虑 SCL 局部变量的 # 前缀。
由此又查出三种同类病:规则过宽(常量被误判)、噪声淹没(一个块报 17 条同类告警)、解析错误(把 ELSIF (...) 当成块调用)。五种失效形态的共同点是:它们都不会报警。
原文见公众号「智能体驻场日记」
缺 END_IF、括号不配对、缺分号、剥离变量前缀、魔法数字、注释率过低 —— 静态层全部检出(门槛 80%)
AND 改 OR、删停止判断、比较符取反、常量初值篡改、删除故障锁存、删 NOT —— 静态层一条都没检出
最直观的例子:把启动条件的 AND 改成 OR(逻辑完全反了),文本相似度 BLEU-4 仍是 0.9981。结论写进我们的报告,而不是把数字做好看:静态分析通过 ≠ 编译通过 ≠ 逻辑正确。语义正确性只能由动态验证(仿真/实机轨迹比对)与人工审查负责。
以上为示意场景,用来说明我们会怎么处理这类需求,不是任何客户项目;真实脱敏案例(行业 + 做了什么 + 结果)将在项目落地并获授权后替换到本页。