com um clique
static-bug-validation
静态分析Bug验证与动态关联阶段专属技能,用于指导建立静态 Bug 与动态 Bug 的标签级追踪链接
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
静态分析Bug验证与动态关联阶段专属技能,用于指导建立静态 Bug 与动态 Bug 的标签级追踪链接
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
UCAgent是基于大语言模型的自动化任务执行AI代理,支持通用工作流配置和执行。本技能提供配置文件编写规范、自定义Checker开发指南、--emulate-config配置校验工具使用方法,帮助用户快速创建、验证和运行各类任务工作流。
通过脚本把 DUT 基本信息写入 .formal_records.yaml 的 basic_info 字段,并由系统自动渲染 02 基本信息文档。
从 analysis 中提取 RTL_BUG 属性,LLM 通过脚本将 Bug 详细信息写入 .formal_records.yaml。
自动解析环境分析文档和 wrapper.sv,为每个 RTL_BUG 生成 Python 测试函数框架,LLM 填写引脚驱动和断言逻辑。
基于 basic_info.clock_reset 与 extra_config.tcl 渲染 wrapper/checker/formal.tcl。
提取和分析被测模块(DUT)的功能规格和形式化检测点
| name | static-bug-validation |
| description | 静态分析Bug验证与动态关联阶段专属技能,用于指导建立静态 Bug 与动态 Bug 的标签级追踪链接 |
本阶段的目标是逐个处理{OUT}/{DUT}_static_bug_analysis.md中的<LINK-BUG-[BG-TBD]>占位标签,通过动态测试给出验证结论,并将静态Bug与动态Bug建立稳定的一一或一对多追踪关系.
本技能提供两个脚本:
recordbug.py: 将新证实的动态Bug按规范写入{OUT}/{DUT}_bug_analysis.mdlinkbug.py: 将静态Bug与动态Bug的关联关系回填到{OUT}/{DUT}_static_bug_analysis.md这两个脚本分工如下:
recordbug.py负责创建或更新动态Bug记录linkbug.py负责把静态Bug条目下的<LINK-BUG-[BG-TBD]>替换成最终结论也就是说:
linkbug.pyrecordbug.py,再调用linkbug.py操作:
{OUT}/{DUT}_static_bug_analysis.md<LINK-BUG-[BG-TBD]>的<BG-STATIC-*>条目<FG-*><FC-*><CK-*><FILE-*>注意:
<LINK-BUG-[BG-NA]>或已经关联到真实BG-*,说明它已经有结论,除非结论有误,否则不要重复处理操作:
{OUT}/{DUT}_bug_analysis.md判定规则:
注意:
操作:
{OUT}/tests/test_{DUT}_static_verify_*.pytest_static_{DUT}_<BugId>from {DUT}_api import *导入env fixture和API<CK-*>,则在测试函数起始位置添加功能覆盖标记注意:
操作:
结论分为两类:
{OUT}/{DUT}_bug_analysis.md中补充完整动态Bug记录BG-XXX-90bug_analysis.md中新增虚假的动态Bugstatic_bug_analysis.md中的关联标签应改为BG-NA注意:
bug_analysis.md当Bug已证实时,使用RunSkillScript执行recordbug.py,命令格式如下:
python3 script -BG 'BG-ADD-SPECIAL-VALUE-90' -TC 'TC-unity_test/tests/test_ALU754_arithmetic.py::test_add_special' -BD '+INF 与 -INF 相加时未返回 NaN,而是错误输出 0x00000000。' -ROOT '根因分析内容' -FILE 'ALU754_RTL/ieee_add.v:33-64' -FIX '修复建议内容'
其中:
script替换为recordbug.py脚本路径-BG是动态Bug标签-TC是用于证实该Bug的失败测试用例标签-BD是Bug简述-ROOT是根因分析-FILE是关联源码位置-FIX是修复建议注意:
recordbug.py会把记录写入{OUT}/{DUT}_bug_analysis.mdlinkbug.py在写回真实BG-*前,会检查这些BG-*是否已经真实存在于bug_analysis.mdrecordbug.py尚未成功执行,linkbug.py会拒绝把BG-*写回静态报告操作:
RunSkillScript执行linkbug.py## 一、潜在Bug汇总表格中的“动态Bug关联”列## 二、详细分析中该<BG-STATIC-*>条目下的<LINK-BUG-[...]>标签命令格式如下:
python3 script -SBG 'BG-STATIC-001-XXX' -LBG 'BG-ADD-XXX-90'
python3 script -SBG 'BG-STATIC-002-YYY' -LBG 'BG-NA'
python3 script -SBG 'BG-STATIC-003-ZZZ' -LBG 'BG-FSM-DEAD-92,BG-FSM-DEFAULT-85'
其中:
script替换为linkbug.py脚本路径-SBG表示static_bug_analysis.md中原始静态Bug标签,必须是BG-STATIC-*-LBG表示要写回的链接目标:
BG-*BG-NA,分隔,脚本会写成<LINK-BUG-[BG-1][BG-2]>执行linkbug.py前,脚本会做以下校验:
-SBG必须真实存在于{OUT}/{DUT}_static_bug_analysis.md的汇总表和详细分析中-LBG不是BG-NA,则其中每个动态Bug标签都必须真实存在于{OUT}/{DUT}_bug_analysis.md操作:
<LINK-BUG-[...]>注意:
操作:
<LINK-BUG-[BG-TBD]>都被替换static_bug_analysis.md中不再存在任何<LINK-BUG-[BG-TBD]>bug_analysis.md中找到对应动态Bug记录BG-NAlinkbug.py只修改指定静态Bug的链接标签与汇总表关联列,不改动其余正文bug_analysis.md中已有完整记录的动态Bug,才能写回真实BG-*BG-NA,不能保留BG-TBDrecordbug.py写入bug_analysis.md,再通过linkbug.py建立关联bug_analysis.md中的新增动态Bug记录必须通过recordbug.py, static_bug_analysis.md中的链接回填必须通过linkbug.py,不要手工直接编辑-SBG必须是BG-STATIC-*格式-LBG必须是以下两种之一:
BG-*BG-*用英文逗号分隔BG-NALINK-BUG-[BG-XXX-90]LINK-BUG-[BG-XXX-90][BG-YYY-85]LINK-BUG-[BG-NA]<LINK-BUG-[BG-XXX-90]><LINK-BUG-[BG-XXX-90][BG-YYY-85]><LINK-BUG-[BG-NA]><BG-STATIC-*>条目下应当只有一个<LINK-BUG-[...]>标签LINK-BUG标签,必须报错并停止-LBG为真实动态Bug标签,则这些标签必须先存在于bug_analysis.mdRunSkillScript使用说明recordbug.py,再执行对应的linkbug.py-LBG中有逗号时更需要加引号-LBG里一次性给出recordbug.pylinkbug.pypython3 recordbug.py -BG 'BG-MUL-OVERFLOW-THRESHOLD-85' -TC 'TC-unity_test/tests/test_ALU754_arithmetic.py::test_mul_overflow' -BD '最大规格化数乘以 2.0 时未拉高 overflow,也未输出 +INF。' -ROOT '根因分析内容' -FILE 'ALU754_RTL/ieee_mul.v:47-50' -FIX '修复建议内容'
python3 script -SBG 'BG-STATIC-007-OVERFLOW-THRESHOLD' -LBG 'BG-MUL-OVERFLOW-THRESHOLD-85'
替换效果:
LINK-BUG-[BG-TBD] -> LINK-BUG-[BG-MUL-OVERFLOW-THRESHOLD-85]<LINK-BUG-[BG-TBD]> -> <LINK-BUG-[BG-MUL-OVERFLOW-THRESHOLD-85]>python3 script -SBG 'BG-STATIC-003-DENORMAL-LOSS' -LBG 'BG-NA'
替换效果:
LINK-BUG-[BG-TBD] -> LINK-BUG-[BG-NA]<LINK-BUG-[BG-TBD]> -> <LINK-BUG-[BG-NA]>python3 recordbug.py -BG 'BG-FSM-DEAD-92' -TC 'TC-unity_test/tests/test_demo.py::test_static_demo_1' -BD '第一个动态Bug描述' -ROOT '根因分析1' -FILE 'rtl/demo.v:10-20' -FIX '修复建议1'
python3 recordbug.py -BG 'BG-FSM-DEFAULT-85' -TC 'TC-unity_test/tests/test_demo.py::test_static_demo_2' -BD '第二个动态Bug描述' -ROOT '根因分析2' -FILE 'rtl/demo.v:30-40' -FIX '修复建议2'
python3 script -SBG 'BG-STATIC-020-FSM-ISSUE' -LBG 'BG-FSM-DEAD-92,BG-FSM-DEFAULT-85'
替换效果:
LINK-BUG-[BG-FSM-DEAD-92][BG-FSM-DEFAULT-85]<LINK-BUG-[BG-FSM-DEAD-92][BG-FSM-DEFAULT-85]>