用途:对 Simulink 模型执行 Design Error Detection(快速缺陷扫描),发现除零、溢出、死逻辑、越界等问题,并对每个发现做根因分析;也可在已有 SLDV 产物(.mat 文件)时直接分析而不重跑 DED。不适用于需求验证、测试生成、覆盖率测量或完整形式化验证。
主要能力与流程:1)检测错误,调用 sldv_run_defect_checker(model),例如 result = sldv_run_defect_checker("my_model", OutputDir="artifacts/ded"),自动配置分析并加载缓存结果;若 Status 为 pass 则停止,仅报告未检出所检查类型的缺陷,不宜宣称模型无错。2)根因分析,调用 sldv_find_de_root_cause(model, DedResult=result.DedResult, OutputDir="artifacts/ded"),返回反向切片、反例、局部性(影响范围)与共享根因级联;若切片较浅或止于 Stateflow / MATLAB Function 块,需改用 model_read / model_overview 解释。3)分类错误,针对死逻辑结合 finding.ModelContext 与 finding.PatternCatalog 判断为 intentional、design_error 或 unclassified。4)修复,载入并遵循 references/fix-strategy.md,提出方案并获用户明确批准后,先克隆再修复验证。
使用方式:脚本函数位于技能 scripts/ 目录,需用 evaluate_matlab_code 并将 project_path 指向该目录。前置条件为 MATLAB R2023b+、Simulink Design Verifier、Simulink Check / Model Slicer。
限制与安全规则:不得直接修改原始模型,必须先克隆;未经用户明确批准不得应用任何修复,即使用户口头要求修复也须先给出方案并等待确认;SLDV 结果视为可靠,不按误报处理;运行前模型需已保存;大模型应设置 OutputDir;本技能仅为快速扫描,干净结果不代表模型完全无误。其余细节暂未提供。