Skills Data Science Ensuring Manuscript Reproducibility For CS

Ensuring Manuscript Reproducibility For CS

v20260724
csj-reproducibility
A comprehensive guide for authors submitting to Computer Science journals, detailing how to achieve full experimental reproducibility. It systematically covers locking environments (dependencies, hardware, seeds), preventing data leakage, structuring the submission package, and creating a clear audit trail so reviewers can independently reproduce all main results from raw data.
Get Skill
376 downloads
Overview

《计算机科学》可复现性与实验可重复

本技能帮你把《计算机科学》(Computer Science, 简称 JSJKX) 稿件的实验做到可复现。本刊为单盲审稿,虽未见 公开的独立 artifact 徽章评审制度(待核实,见 resources/official-source-map.md),但可复现性直接影响外审 专家对方法可信度的判断,也为录用后可能的补充材料打基础。目标:他人能从原始数据一键复现你的主表/主图。

提醒:本刊 Computer Science 是期刊(journal),非会议。

一、可复现的三个层次

  1. 可重复(repeatable):你自己在同环境能复现同结果(固定种子/版本)。
  2. 可复现(reproducible):他人用你的代码+数据能得到一致结果。
  3. 可推广(replicable):他人用独立实现/新数据能得到一致趋势。 外审最看重前两层,第三层加分。

二、固定环境与随机性

  • 环境:给出 requirements.txt / environment.yml / Dockerfile,锁定语言、库、CUDA/硬件版本。
  • 随机种子:固定所有随机源(框架、numpy、数据加载、shuffle);报告多次运行的均值±方差。
  • 配置:超参写入 configs/,与论文表格一一对应,避免"论文一套、代码另一套"。

三、数据划分与污染防范

  • 训练/验证/测试划分脚本随包提供;调参仅用验证集,测试集仅最终评估一次。
  • 数据泄漏:特征工程、标准化统计量只在训练集上拟合;时间序列按时间切分。
  • 污染:若用预训练模型/外部语料,说明其与测试集是否重叠,评估潜在泄漏。

四、复现包结构

repro/
├── README.md      # 一键复现步骤、预期结果、耗时
├── env/           # 依赖与 Dockerfile
├── data/          # 数据说明+获取脚本(大数据外链+校验和)
├── src/           # 方法与基线
├── scripts/       # run_all.sh:数据→主表/主图
├── configs/       # 超参与种子
└── results/       # 预期输出与日志

scripts/run_all.sh 应能在干净环境从原始数据复现论文主结果。

五、数据与模型外链

  • 大体量数据/模型用可长期访问的仓库(机构库、Zenodo 等)外链,给校验和与访问日期。
  • 敏感数据提供合规脱敏子集或申请流程;正文注明获取方式与限制。

六、在论文中报告可复现性

  • 实验节说明:硬件、软件版本、种子、运行次数、数据获取方式。
  • 提供复现包链接(若单盲下匿名不是强制,可直接给仓库;仍建议稳定长期链接)。
  • 每张主表/主图都能追溯到 scripts/ 里的具体命令。

七、自查清单

  1. 是否锁定环境(依赖/版本/硬件)?
  2. 随机种子是否固定、是否报告多次运行方差?
  3. 数据划分脚本是否随包、是否无泄漏无污染?
  4. 复现包是否含 run_all.sh,能从数据到主表/主图?
  5. 大数据/模型是否外链+校验和?敏感数据是否合规?
  6. 论文是否报告软硬件、种子、运行次数、数据获取?
  7. 主表/主图是否都能追溯到脚本命令?

八、输出格式

【CSJ 可复现审计】
环境锁定:依赖/版本/硬件 <✓/✗>
随机性:种子固定[✓/✗] 多次运行方差[✓/✗]
数据:划分脚本[✓/✗] 无泄漏[✓/✗] 无污染[✓/✗]
复现包:run_all.sh 一键复现 <✓/✗>
外链:数据/模型+校验和 <✓/✗>;敏感数据合规 <✓/✗>
论文报告:软硬件/种子/获取方式 <✓/✗>
结论:<可复现 / 需补:列点>

本刊 artifact/徽章制度现状为"未见独立徽章"(待核实),以官网《投稿须知》为准。

九、复现的粒度与文档

一个能被外审信任的复现包,不只是"把代码丢上去"。README 应写清:所需硬件与软件版本、安装步骤、数据获取 与预处理、一键复现命令、每条命令对应论文的哪张表/图、预期数值与允许的浮动范围、以及大致运行耗时。文档 越具体,外审(单盲,知你身份)越容易验证,也越少来回追问。为《计算机科学》(Computer Science) 投稿时,把这些 写在复现包 README 与论文实验节,两处一致。

十、常见不可复现陷阱

以下问题在计算机各方向反复出现:随机种子未固定导致每次结果不同;库/驱动版本升级致数值漂移;数据预处理 脚本缺失,他人无法从原始数据出发;测试集在调参中被"偷看"造成乐观偏差;只报最好一次而非多次均值;硬件 差异(GPU 型号)未说明。逐项排查这些陷阱,是让本刊外审相信你结果稳健的前提。

十一、可复现与可用性、补充材料的衔接

可复现性是代码/数据可用性(见 csj-artifact-evaluation)的基础:先做到可复现,再对外提供可用性声明与稳定 链接。复现所需但不宜进正文的完整超参、环境清单、扩展实验,放附录或补充材料(见 csj-supplementary)。录用 后,把复现包与补充材料一并整理,供 csj-camera-ready 阶段最终提交。三者衔接顺畅,可复现性才真正落地。

十二、算力与规模的诚实报告

不同作者的算力条件差异很大,复现的现实门槛也不同。为《计算机科学》(Computer Science) 投稿时,应诚实报告 训练/推理所需的算力(GPU 型号与数量、显存、训练时长)与数据规模,让读者预估复现成本。若完整复现代价高昂, 可额外提供一个小规模可快速复现的子任务或子数据集,让审稿人在有限资源下验证方法的核心行为。这种"分层 复现"既尊重现实约束,又不牺牲可验证性,是负责任的可复现实践。

十三、复现声明模板

在论文实验节可放一段简短的复现声明,示例:

【复现说明】实验在 <GPU 型号 x N> 上完成;代码见 <稳定链接>(commit <hash>,<许可>);
数据为 <公开数据集[引用] / 受限数据(申请方式)>;固定随机种子 <seed>,结果为 <k> 次运行均值±方差;
执行 scripts/run_all.sh 可从原始数据复现表 1-表 N 与图 1-图 M,预计耗时 <t>。

该声明与复现包 README 内容一致,是外审快速建立信任的抓手。

Info
Category Data Science
Name csj-reproducibility
Version v20260724
Size 6.89KB
Updated At 2026-07-28
Language