بنقرة واحدة
static-bug-validation
静态分析Bug验证与动态关联阶段专属技能,用于指导建立静态 Bug 与动态 Bug 的标签级追踪链接
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
静态分析Bug验证与动态关联阶段专属技能,用于指导建立静态 Bug 与动态 Bug 的标签级追踪链接
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف 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]>