Software Engineering Empirical Research Radar

Repair 实验设计

先把公平性写死,再让 LLM 开始修。

Repair 实验最容易输在设计,而不是输在模型。初学者常犯的错是:baseline 太弱、反馈轮数不公平、prompt 里泄漏 oracle、最后只报 plausible。下面这套设计是为 SANER/ASE 风格的 pilot 准备的。

RQs

RQ问题主要指标
RQ1同预算下,diagnostic advice 是否比 vanilla LLM 修复更多 bug?correct、plausible、unique correct、attempts。
RQ2diagnostic advice 是否优于普通 Ochiai top-k guidance?paired better/same/worse、delta attempts、delta test cost。
RQ3收益来自哪里?定位、上下文、测试反馈、还是减少 overfit?compile fail、test fail、patch size、edit location、overfitting label。
RQ4哪些 advice 类型有效?value-route、frontier、chain、failure-conditioned spectra?按 advice family 分层的 paired result。

实验组

Arm允许输入公平性控制
vanillafailing test、stack trace、buggy file/function、项目编译命令。不提供 FL ranking 或我们的诊断证据。
Ochiai-guidedvanilla 输入 + statement-level Ochiai top-k,严格 tie-worst 口径。这是必须打过的普通 FL baseline。
feedback-loopvanilla/Ochiai 输入 + 每轮编译/测试失败摘要。如果我们的 arm 允许反馈,baseline 也必须允许反馈。
diagnostic-advice-guidedvanilla + Ochiai + patch-free diagnostic card。只能给运行事实和定位解释,不能给 gold patch/fault type。

最小 Pilot

3-bug smoke

只验证脚本能 checkout、prompt、apply patch、compile、run tests、保存 receipt。不要在这个阶段下结论。

Csv-1..16 pilot

优先,因为本地已有 statement universe、Ochiai 和 fault mapping 经验。用于看 signal,不要过度调参。

50-bug pilot

如果 16 个 bug 有信号,扩到 50 个跨项目 bug。用固定 seed 和冻结 budget。

Full Defects4J

最后才考虑 854 active bugs。此时需要并行、缓存、失败恢复和成本预算。

统一预算

Budget

推荐先冻结这些数

Correctness 判定

Plausible:补丁通过已有测试。Correct:补丁语义上修对。Correct 至少需要人工审查、developer patch comparison、独立/generated tests 或明确的语义理由。论文表格必须把 plausible 和 correct 分开。