---
name: jos-experiments
description: 当你要为投向《软件学报》(Journal of Software, JOS) 的稿件设计或打磨实验与评测时使用。覆盖研究问题 (RQ) 契约、真实系统与数据集的选取、可信基线、评价指标与统计显著性/效应量、消融与抗污染的大模型评测、挖掘类研究的出处锁定、以及威胁有效性 (threats to validity) 的分类论证，帮助你把证据与论点对齐，达到《软件学报》(Journal of Software) 软件学科同行评审对实证严谨性的要求。
---

# 《软件学报》实验设计与呈现 (Journal of Software Experiments)

本技能帮你把实验做成"证据与论点相称"的样子——这是《软件学报》(Journal of Software, JOS)
软件学科评审的核心门槛。本刊审稿人来自软件工程、系统软件、数据库、安全等方向，会审计你的
数据集、基线、指标与威胁论证。方法论口径与本刊学科文化一致（见
[`resources/official-source-map.md`](../../resources/official-source-map.md)）。

## 一、研究问题 (RQ) 契约

- 把评测组织为若干 **RQ**，每个 RQ 明确：问什么、用什么数据、用什么指标、期望什么结论。
- RQ 应回答"软件工程问题"，而非"我的模型分数高不高"。
- 每个 RQ 与引言的贡献一一对应；读者应能从 RQ 直接读出论文论点。

```text
RQ1  方法在真实项目上的有效性如何（相对基线）？
RQ2  各组成部分的贡献如何（消融）？
RQ3  在不同规模/领域项目上是否稳健（外部效度）？
RQ4  代价/开销如何（可用性）？
```

## 二、真实对象：系统与数据集

- 用**真实系统/真实项目/真实数据集**，而非玩具输入；说明来源、规模、代表性。
- 数据集要交代采集时间、筛选标准、预处理；训练/验证/测试划分明确、无泄漏。
- 若用公开基准，说明版本；若自建，说明构建与标注协议、标注者一致性 (如 Kappa)。

## 三、可信基线

- 基线要**公平且强**：用原作者实现或经过调参的复现；说明超参搜索与选择依据。
- 避免"稻草人基线"（故意弱化对手）——审稿人会识别并质疑。
- 与最接近的已有工作直接对比，而非只比古老或不相关方法。

## 四、指标、统计显著性与效应量

- 指标匹配任务：分类用 Precision/Recall/F1/AUC，定位用 Top-N/MAP/MRR，性能用时延/吞吐/内存等。
- 多次运行报告均值与方差；随机性来源（种子、划分）要固定或多次平均。
- **统计检验**：组间差异用合适的假设检验（如 Wilcoxon/Mann-Whitney），多重比较要校正。
- **效应量**：给出 Cliff's delta、Cohen's d 等，说明差异的实际大小，而非仅 p 值。
- 尽量给置信区间，避免只报单点数字。

## 五、消融与大模型抗污染评测

- **消融实验**：逐一移除组件，隔离每部分的边际贡献，支撑"哪一部分真正起作用"。
- 若用大模型/深度学习：
  - 记录模型标识与版本、日期、温度等参数；缓存原始输出以便复现。
  - **数据污染 (contamination)**：留意评测数据是否可能出现在模型训练语料中；用时间切分
    (训练截止日期之后的数据) 或私有集缓解，并在威胁有效性中讨论。
  - 用留出项目/跨项目评测，避免同项目内过拟合。

## 六、挖掘类研究的出处锁定

- 挖掘 GitHub/开源仓库的研究：记录仓库 URL 与 **commit SHA**、抽取日期、筛选脚本。
- 保存原始快照，使他人能在同一语料上复现；避免"随时间漂移"导致不可复现。
- 说明数据清洗规则与排除标准，量化被排除的比例。

## 七、威胁有效性 (threats to validity)

分类逐条论证，且尽量与结果就地讨论而非全部后置：

| 类型 | 关注 | 典型缓解 |
| --- | --- | --- |
| 构念效度 | 指标是否度量了你声称的东西 | 用多指标、人工校验代理标签 |
| 内部效度 | 因果/混杂 | 控制变量、消融、审计子样本 |
| 外部效度 | 能否泛化 | 多项目/多领域、分层报告 |
| 结论效度 | 统计推断是否可靠 | 检验+效应量+多次运行 |

## 八、实验自检清单

```text
[ ] 每个 RQ 对应一个贡献，且是软件工程问题
[ ] 数据集真实、来源与划分清楚、无泄漏
[ ] 基线公平且强，非稻草人
[ ] 指标匹配任务，报告均值/方差
[ ] 有统计检验 + 效应量（不只 p 值）
[ ] 有消融隔离各组件贡献
[ ] 大模型评测讨论并缓解数据污染
[ ] 挖掘类研究锁定 SHA 与抽取日期
[ ] 威胁有效性分四类逐条论证
[ ] 结果可由可复现材料支撑（见 jos-reproducibility）
```

## 九、输出格式

```text
【实验就绪度】就绪 / 需补 / 重做
【RQ-贡献映射】问题清单：________
【数据与基线】风险：________
【统计严谨性】检验/效应量缺口：________
【抗污染】大模型评测风险：________
【威胁有效性】缺失类型：________
【下一步】用 jos-reproducibility 打包材料 / 用 jos-writing-style 呈现
```

## 十、按方向定制的评测要点

《软件学报》(Journal of Software) 覆盖多个软件学科方向，不同方向的评测侧重不同，套用别方向
的做法容易被审稿人质疑：

- **软件工程（测试/缺陷）**：真实项目、跨项目评测、与经典与最新方法对比，报告 Precision/
  Recall/F1、Top-N/MAP/MRR 等；注意类别不平衡与数据泄漏。
- **系统软件（OS/编译/运行时）**：用标准基准 (benchmark suite)，报告时延、吞吐、内存、编译
  开销等，说明测试平台与配置，多次运行去噪；关注可复现的性能测量方法。
- **程序设计语言与形式化**：给出正确性/完备性论证或证明，工具类给出在真实程序上的可扩展性
  与适用范围，说明假设与局限。
- **数据库与大数据**：用标准负载/数据集，报告查询性能、扩展性、资源占用；说明数据规模与
  硬件。
- **软件安全**：在真实漏洞/样本上评测，报告检出率、误报率、对抗鲁棒性；注意数据集时效与
  代表性，避免只在旧数据上验证。

## 十一、结果呈现的诚实原则

- 只报告支持结论的证据，不夸大；不显著的结果如实呈现并讨论。
- 表格给出完整数字（含方差/区间），图清晰标注坐标与图例。
- 负面/意外结果有分析价值，诚实报告比粉饰更取信于审稿人。
- 结论的声称范围与证据相称：小规模实验不宜声称普遍结论。

## 十二、输出格式（方向定制版）

```text
【方向】软件工程 / 系统软件 / PL与形式化 / 数据库 / 安全
【基准与数据】是否用了该方向公认基准：________
【指标匹配】是否用了该方向标准指标：________
【呈现诚实性】是否有夸大/选择性报告风险：________
【下一步】用 jos-reproducibility 固定可复现条件
```

> 提醒：本刊无公开的强制统计口径清单，本技能给的是软件学科通行做法；具体呈现以《软件学报》
> (Journal of Software) 当期同类论文与审稿意见为准。相关的可复现材料见
> [`jos-reproducibility`](../jos-reproducibility/SKILL.md)。
