Skill 詳細

ascendc-operator-code-review

Code review specialized for Ascend C operator safety rules.

一致度一致の可能性コードレビュー 向けにレビュー済み
出典ascend/agent-skills外部ソース
報告インストール数143人気度の参考値

使用前に確認

自動レビューは関連性のみを確認し、安全性や推奨を保証しません。使用前に出典の説明を読んでください。

保存された出典プレビュー

SKILL.md

これはレビュー時に保存された抜粋です。完全で最新の内容は外部ソースを確認してください。

---
name: ascendc-operator-code-review
description: "Ascend C 代码检视技能。基于假设检验方法论对代码进行安全规范检视。调用时必须明确提供:代码片段和检视规则描述。TRIGGER when: 用户要求代码检视、代码review、询问代码安全问题、检查编码规范、或需要检查特定代码问题(如内存泄漏、整数溢出、空指针等)。关键词:Ascend C、代码检视、代码review、安全规范、内存、指针、溢出、泄漏、编码规范。"
---

# Ascend C 代码检视技能

## 核心原则

1. **合规优先** - 所有检视动作映射至编码规范具体条款,100%覆盖无遗漏
2. **可审计可复用** - 检视动作全程日志记录
3. **简洁高效** - 检视报告结构化,清晰明了

## 调用接口

### 必需参数

调用此技能时,必须明确提供以下参数:

**参数1:代码片段**
- 待检视的代码内容
- 可以是函数、代码块、文件内容等

**参数2:检视规则描述**
- 明确指定要检视的问题类型
- 例如:`检查整数溢出`、`检查内存泄漏`、`检查空指针解引用`等
- 或指定具体的规范文件路径

**参数3:规范文件路径**(可选)
- 指定具体的编码规范文件路径
- 如果未指定,将根据检视规则描述查找对应的规范文件

### 参数校验

如果缺少任何一个必需参数,应:
1. 明确通知用户缺少哪些参数
2. 放弃执行检视
3. 提示用户提供完整参数

### 规范文件引用

当用户指定检视规则描述时,按以下规则匹配规范文件:

- `数值运算`、`溢出`、`除零` → references/01_numeric_operations.md
- `内存`、`指针`、`越界` → references/02_memory_pointer_safety.md
- `资源`、`泄漏` → references/03_resource_management.md
- `输入`、`验证` → references/04_input_validation.md
- `并发`、`线程` → references/05_concurrency_safety.md
- `算子接口`、`Runtime`、`Tiling`、`动态Shape` → references/06_operator_interface.md
- `接口兼容性`、`ABI` → references/07_interface_compatibility.md
- 用户直接指定路径 → 使用指定路径

## 检视流程(假设检验驱动)

### 阶段一:准备

1. 校验必需参数是否完整
2. 根据检视规则描述或指定路径读取编码规范文件
3. 确认待检视的代码片段

### 阶段二:假设检验(核心)

**步骤1:代码段识别**

将目标代码划分为独立的代码段(函数、语句块、逻辑单元)

**步骤2:假设建立**

对每个代码段建立假设:
- **原假设 H0**:该代码段是安全的
- **备择假设 H1**:该代码段存在风险
- **自信值初始化**:0%

**步骤3:证据收集与评估**

按维度系统性寻找证据:

| 证据类型 | 分析动作 | 分值规则 |
|---------|---------|---------|
| 红线规范违反 | 对照红线规范条款识别严重违规点 | 有效证据 +40% |
| 一般规范违反 | 对照一般规范条款识别违规点 | 有效证据 +20% |
| 上下文防御缺失 | 检查作用域内是否有防御代码 | 无防御 +30% |
| 函数调用链风险 | LSP/Grep 分析调用函数内部逻辑 | 发现风险 +25% |
| 数据流追踪风险 | 分析变量来源、运算过程 | 发现风险 +25% |

- 提供数值运算类型证据时,需提供明确的风险运算案例(如溢出,越界,回绕,等)

**分析要求**:
- 使用LSP获取代码中的符号定义,使用Grep查找依赖关系
- 风险代码必须要检查是否在当前文件作用域内的其他位置进行防御
- 遇到函数调用,必须查看函数内部逻辑并综合判断
- 遇到存在风险的结构体或成员变量,必须查看定义和运算过程

**步骤4:证据有效性校验**

排除误报:
- 已在作用域其他位置进行有效防御 → 排除
- 上下文可证明不可能触发风险 → 排除

**步骤5:决策判断**

计算自信值并决策:
- 自信值 = Σ 有效证据分值
- **决策规则**:当自信值超过60%时,判定代码段存在风险,进入报告生成;否则继续检查下一代码段

### 阶段三:报告生成

1. 按代码检视报告模板格式生成报告
2. 每个问题详情前展示假设检验过程(证据链和自信值计算过程)

## 注意事项

1. 请先完整阅读对应的编码规范文件,并根据这些规范进行代码review,其他的一概不统计
2. 检视过程中,存疑代码块存在函数调用行为,必须动用LSP工具,或者搜索工具,实现深层次分析
3. 不确定的编码规范问题,在输出报告中以存疑的形式进行列举,供用户自主判断
4. 检视报告中列举的问题代码不宜过长,描述清晰问题代码即可
5. 返回检视结果时,必须仔细检查结果中风险代码行的行数是否正确
6. 返回检视结果时,所有风险代码块都应该被引用,不能只展示一个行数

## 输出规范

### 检视报告必需包含

1. 检视类别
2. 风险点列表(含行号、代码片段)
3. 证据链(展示假设检验过程)
4. 建议修复方案

### 输出格式

详见:agents/ascendc-ops-reviewer/style/code_review_summary_style.txt
GitHub で全文を読む (外部ページ)
関連情報

関連する仕事