代码审查 · 因果实验
解释有七种,但“有解释”真的会让审查更有效吗?
《Explaining Explanations》从 793 条被认为“有用”的首轮行内评论中归纳了七类解释,并验证语言模型可以按指定类型改写评论。最有价值的地方并不是自动生成本身,而是它把模糊的“解释”拆成了可操作的 Treatment。
分类体系告诉我们可以操纵什么;它还没有回答这种操纵是否改善采纳、效率或代码质量。
下一步真正需要的是随机或配对实验:固定缺陷、评论结论和代码上下文,只改变解释类型,并同时测量理解、采纳、修改正确性与认知负荷。
论文 DOI ↗
构念效度 · 观察研究
一条代码审查评论“有用”,究竟由谁定义?
当“作者是否采纳或承认”与评论类别评分被组合成有用性指标时,Outcome 已经混入了协作关系、回复习惯和修改成本。回归结果可以说明变量与该指标关联,却不能自动说明改变评论属性就会产生对应效果。
最需要警惕的不是模型选错变量,而是 Outcome 从一开始就没有对准研究者真正想解释的东西。
论文 DOI ↗
Benchmark · 多轮审查
模型越审越差,真的是长程记忆不够吗?
MCR-Bench 将代码审查从单轮缺陷命中推进到 New、Open、Resolved 和 Reopened 状态追踪。模型表现随轮次下降很有启发,但轮次同时伴随任务构成、样本量和难度变化。
趋势可以暴露问题,却不能单独识别机制。要把退化归因于长程记忆,还需要控制每轮任务难度与样本构成。
论文 DOI ↗
随机实验 · 任务复杂度
实验随机了,为什么仍不能把差异归因于复杂度?
2×2×2 随机实验发现高复杂任务包与接受错误修订相关,而 AI/人类来源标签没有主效应。但如果每个复杂度只对应一个不同代码片段,复杂度、代码内容和缺陷类型就被捆绑在一起。
随机分组解决参与者层面的混杂,不会自动拆开刺激材料内部被捆绑的多个 Treatment。
论文 DOI ↗