csj-reproducibility
GitHub专为《计算机科学》期刊设计的实验可复现技能,涵盖环境锁定、随机种子固定、数据防泄漏及复现包结构规范。旨在通过标准化自查与一键复现流程,提升单盲审稿下方法的可信度与外审效率。
Trigger Scenarios
Install
npx skills add brycewang-stanford/Awesome-Journal-Skills --skill csj-reproducibility -g -y
SKILL.md
Frontmatter
{
"name": "csj-reproducibility",
"description": "在为《计算机科学》(Computer Science, JSJKX) 提升实验可复现性与可重复性时调用。本刊是计算机全学科中文综合月刊(CCF 会刊、B 类、T2 级),单盲审稿,未见独立 artifact 徽章制度(待核实),故复现工作主要服务于让外审专家更快确认方法可信。技能覆盖环境\/依赖\/随机种子\/数据划分固定、数据泄漏与污染防范、复现包结构、外链数据与校验和、可复现性自查清单。适用于让稿件的主结果可被他人从原始数据一键复现、经得起外审追问的场景。"
}
《计算机科学》可复现性与实验可重复
本技能帮你把《计算机科学》(Computer Science, 简称 JSJKX) 稿件的实验做到可复现。本刊为单盲审稿,虽未见
公开的独立 artifact 徽章评审制度(待核实,见 resources/official-source-map.md),但可复现性直接影响外审
专家对方法可信度的判断,也为录用后可能的补充材料打基础。目标:他人能从原始数据一键复现你的主表/主图。
提醒:本刊 Computer Science 是期刊(journal),非会议。
一、可复现的三个层次
- 可重复(repeatable):你自己在同环境能复现同结果(固定种子/版本)。
- 可复现(reproducible):他人用你的代码+数据能得到一致结果。
- 可推广(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/里的具体命令。
七、自查清单
- 是否锁定环境(依赖/版本/硬件)?
- 随机种子是否固定、是否报告多次运行方差?
- 数据划分脚本是否随包、是否无泄漏无污染?
- 复现包是否含
run_all.sh,能从数据到主表/主图? - 大数据/模型是否外链+校验和?敏感数据是否合规?
- 论文是否报告软硬件、种子、运行次数、数据获取?
- 主表/主图是否都能追溯到脚本命令?
八、输出格式
【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 内容一致,是外审快速建立信任的抓手。
Version History
- 9f86f09 Current 2026-07-19 15:08


