UNIT 67 / 78 · W10-5
用独立 oracle 分清模型、simulator 与设备
本单元预计 6 核心小时。可以分成多个学习时段,按完整小节推进;停下来时留下输入、命令、结果和下一步。
时间包含阅读、编码与检查,是学习预算而非期限。打开此页只保存阅读位置,不代表通过验收。
先知道自己在观察什么
功能模型、simulator 与硬件:分别证明什么 →
先写三种证据层级,再读独立oracle、穷举、变形测试与重复调用状态。
功能模型、simulator 与硬件:分别证明什么 →
查公开debug和simprint教程分别输出什么、在哪里可用;不把日志时间当硬件性能。
先备不清楚时,沿章节入口补读;不要依赖翻过页数判断进度。
先留下自己的预测或独立尝试
先计算长度0到4、每项3种取值共有121项,再运行检查零mismatch。
121个小输入交叉验证 →源码下载与编译入口
下载到自己的练习目录。按本节给出的完整命令编译;多文件与driver要求见原任务。需要时查阅文件保存与编译操作 →
44-a.cpp先保存预测,再核对正文标明的预期或诊断。完整构建、多文件与设备实验按原任务命令执行。
通过一个变动看清原因
在副本把枚举最大长度改为3,保留独立顺序oracle与分组candidate,更新案例数量检查。
修改后应观察到什么
总案例数1+3+9+27=40,mismatch仍为0。
换一组条件,独立解决
给本人Reduction Lab追加两条合法整数性质:追加零结果不变、复制输入结果翻倍;再定义将来设备版的连续两次调用与残留状态检查表。
用这些条件检查自己的实现
- 性质仅用于不越过长度和值域合同的输入;每次仍检查完整结果。
- 证据表分别记录CPU已执行、公开API已读、SDK未执行、设备未执行,不能合并成功率。
用证据决定是否进入下一单元
- oracle共用同一错误分区函数会导致什么假通过?
- 一次通过为何不能排除第二次调用的旧状态残留?
本单元的验收依据
可复现CPU测试与证据分层表完成;三家公司均回到同一主项目的问题与验证方法,不生成设备mastery。
留下自己的代码或推演、测试输入、真实输出和仍不确定的问题。未达到要求时,下一次继续本单元。