研究 patch-free 的诊断证据,是否能让同一个 LLM 比 vanilla 和 Ochiai-guided baseline 修得更准、更快、更少 overfit。
Software Engineering Empirical Research Radar
AI-Native SE Catch-up Tutorial
从 testing、fault localization、TCP、diagnosis、repair 和产业实践重新进入 first-tier 软件工程研究。
用途。 这份教程写给已经懂软件测试、fault localization、CI 或软件质量,但需要重新追上 AI-for-SE 节奏的研究者。
主判断。 最适合重启的不是泛泛的代码生成,而是面向持续演化软件系统的 AI-native testing、diagnosis 和 repair。
最适合先开始的方向
把 TCP 升级到 AI repair loop:每个候选补丁之后,agent 应该优先跑哪些测试?
把 trace、值变化、失败/通过行为差异和 statement neighborhood 压缩成人和模型都能读的 diagnostic card。
把 build log、test history、change diff、trace 和开发者动作连成可靠的持续演化软件诊断流程。
四周 Catch-up 路线
先重建领域地图
不要先死读论文,先恢复对当前软工 field shape 的感知。
- 先看 2021--2025 年 ICSE/FSE/ASE/ISSTA 的主题分布。
- 把 Testing/QA、AI/LLM for SE、Debugging/FL/Diagnosis/Repair、DevOps/CI 看成一个互相连通的方向簇。
- 高产 scholar signals 是研究风格地图,不是盲目模仿的排行榜。
恢复测试与诊断直觉
把已有的 FL/TCP 能力翻译成 AI-for-SE 时代的问题。
- FL 问 fault 在哪里;repair 问什么证据能帮助生成并验证补丁。
- TCP 问哪些测试先跑;agentic repair 问每轮候选补丁之后该跑哪些测试。
- 桥梁概念是 budget-aware evidence:下一步人或模型最值得检查什么。
理解现代 LLM repair
在提出新方法之前,先看懂当前 repair pipeline。
- Direct prompting:给 failing tests 和代码上下文,让模型直接修。
- FL-guided prompting:额外给 suspicious statements 或 methods。
- Feedback-loop repair:编译、测试,再把失败反馈给模型。
- Agentic repair:模型在固定预算下查文件、跑工具、迭代补丁。
学习 benchmark 与评价陷阱
repair/testing paper 的可信度主要取决于评价协议。
- Defects4J 的结果只有在 bug universe、版本、oracle 和预算一致时才可比。
- Plausible patch 只是通过测试;correct patch 需要语义层面的判定。
- 常见坑包括 baseline 太弱、oracle leakage、feedback budget 不一致、prompt 长度混淆。
设计第一篇 paper sprint
把 catch-up 变成一个范围可控、能投稿的实验。
- 做 paired comparison:vanilla LLM、Ochiai-guided LLM、diagnostic-advice-guided LLM。
- 统计 fixed bugs、attempts、test cost、compile failures、patch size 和 overfitting risk。
- 如果信号弱,就转成 negative results、evaluation protocol 或 agentic test-budget scheduling。
值得看的 Scholar Signals
| 学者 / 方向线 | 信号 | 应该学什么 |
|---|---|---|
| Yang Liu | security、testing、analysis、AI 和 systems-facing SE 等多线高产。 | 高产通常来自可复用的 benchmark/tool pipeline,而不是单个点子。 |
| Hongyu Zhang | empirical SE、reliability、AI/software analytics、performance 和产业问题。 | 长期研究程序可以跨主题移动,但保持稳定的软件质量/经验研究视角。 |
| Xin Xia / David Lo | fault localization、MSR、software analytics、developer support。 | 谨慎的 empirical framing 能把工具想法变成更宽的软件工程 claim。 |
| Lingming Zhang | testing、patch validation、fault localization、program analysis。 | 强基础设施能连续支撑多篇 testing/repair 论文。 |
阅读队列
- Defects4J:先理解 benchmark,再相信任何 repair 数字。
- SRepair:现代 function-level repair 代表线,适合理解 practical LLM repair setting。
- RepairAgent:代表性的 autonomous LLM repair agent,用来建立 agentic baseline 心智。
- DebugRepair:runtime-evidence repair 方向,和 diagnostic evidence claim 高度相关。
- On-the-fly patch validation:从 testing/TCP 到 repair 的桥:validation cost 和 generation 一样重要。
- Practitioners' expectations on fault localization:提醒我们 diagnosis 必须 actionable,不能只是 rank 漂亮。
怎么读论文
Pipeline-first reading
每读一篇论文,先写下它的输入、oracle 假设、模型/工具动作、validation budget、benchmark universe 和失败案例,再判断结果是否真的强。
- 它允许方法看到哪些信息?
- 最强的公平 baseline 应该是什么?
- 如果在相同预算下做 paired comparison,结果还站得住吗?
- 它的 pipeline 哪一部分能复用到你的下一个实验?
发表指南
| Venue 类型 | 通常适合什么 | 风险 |
|---|---|---|
| ICSE / FSE / ASE / ISSTA | 强方法、强 benchmark、仔细 baseline、清晰 threat model。 | 弱 baseline 或不公平比较会很快暴露。 |
| SANER / ICSME | analysis、evolution、reengineering、repair、diagnosis、maintenance workflow。 | 仍然需要一个清楚的技术或经验贡献。 |
| ICST / ISSRE | testing、validation、reliability、flakiness、cost-effective test execution。 | 只有 AI 包装不够,testing insight 必须是中心。 |
| Workshop / ERA / Short | 快速信号、新 protocol、负结果、新兴 agentic workflow。 | 不要把 pilot-scale evidence 夸大成 full result。 |