P04 细化评分表
总分 100。助教先运行脚手架检查,再按学生提交的固定 commit 和设计报告评分;未声明的 平台依赖不能成为隐藏扣分项。
| 维度 | 权重 | 满分表现 | 部分完成参考 |
|---|---|---|---|
| 功能正确性 | 40 | IR/CFG、SSA、至少三项优化、分配/目标输出在公开和隐藏程序上通过 oracle | 只有部分阶段可运行,或存在可复现语义偏差 |
| 故障与边界 | 25 | 对循环、递归、不可达块、异常、spill、 malformed input 有测试和清晰诊断 | 只覆盖 happy path,故障时静默错误或崩溃 |
| 性能/资源 | 15 | 固定输入、多次取中位数;报告编译时间、代码大小、spill 和运行收益 | 只有单次 wall time 或只报加速比不报基线 |
| 结构与文档 | 10 | 阶段边界清晰,API 稳定,dump/日志可复现,测试能独立运行 | 算法挤在一个文件或依赖未声明的本地环境 |
| 报告与反思 | 10 | 解释取舍、失败尝试、oracle、限制、分工和可复现步骤 | 只有截图/结论,缺少方法或证据 |
功能性分数不因“输出看起来像正确”直接给满;至少一个解释器对照和一个隐藏结构场景 必须保留日志。性能分数不奖励删掉副作用、减少测试规模或只对单个输入硬编码。