技能 编程开发 系统论文可复现性指南

系统论文可复现性指南

v20260724
atc-reproducibility
本指南为系统类学术论文提供全流程可复现性构建指导。涵盖了从锁定硬件、操作系统、工具链到代码版本的环境记录,要求构建一键运行的匿名化评估包,确保论文结果能够被同行独立验证和重现,是学术成果严谨性的关键要求。
获取技能
156 次下载
概览

ATC Reproducibility

Build the reproducibility story alongside the system, not at the deadline. ATC has an active artifact culture inherited from USENIX: reviewers expect a runnable, anonymized artifact at review time, and after acceptance an Artifact Evaluation Committee awards Available / Functional / Reproduced badges (see atc-artifact-evaluation). The through-line is that a systems result other people can re-run is worth more than one they must take on faith — and systems provenance cannot be reconstructed after the fact.

Pin what you cannot reconstruct

Record these at collection time; none can be recovered at the deadline:

[Hardware]   CPU/NIC/SSD models, core/memory counts, firmware/BIOS where it matters
[OS/kernel]  kernel version, distro, relevant sysctl/tuning, hugepages/NUMA settings
[Toolchain]  compiler, library, and runtime versions; build flags
[Workload]   trace source + extraction date, generator version + seeds, request mix
[Method]     warm-up window, measurement duration, run count, aggregation method
[Code]       commit SHAs for your system and every baseline; patches applied

A turnkey path to the headline numbers

The single most valuable artifact property is that an evaluator can regenerate your paper's main figures and tables:

  • Ship a claim-to-experiment map: paper claim → script → expected figure/table → expected runtime.
  • Provide a one-command entry point per headline result (./run_fig3.sh) that does setup, run, and plot.
  • Give a small-scale mode for evaluators who lack your hardware (fewer nodes, a trace sample), and state clearly which results are full-scale-only and why.
  • Log expected outputs and tolerances so an evaluator knows what "reproduced" looks like given measurement noise.

Pinned, portable environments

  • Prefer a container (Dockerfile) or a pinned environment (lockfile, requirements, Nix) over "install these 30 packages by hand."
  • Where the result depends on kernel features or hardware (RDMA, SPDK, io_uring, specific NICs), say so explicitly and document the required host, since a container cannot abstract the hardware away.
  • Include traces/datasets (or documented, durable access), not just the query that produced them.

Anonymized-but-runnable review package

At submission the artifact must be runnable yet double-blind:

  • No owner strings, cluster hostnames, lab or product names, or identity-revealing URLs in code, configs, logs, or commit metadata.
  • Mirror any linked repository behind an anonymizing service; scrub .git/ from archives.
  • The system's own name can de-anonymize you — use a neutral placeholder if the real name is identifying, and reconcile it in the camera-ready.
  • Verify the package runs from a clean checkout on a fresh machine — "works on the author's laptop" is the most common Functional failure.

Honest reproducibility posture

  • If a result cannot be shared (proprietary trace, confidential deployment), say so and why, and provide the closest reproducible substitute — silence reads as a weakness.
  • Distinguish reproducible (same artifact, same numbers) from replicable (independent reimplementation) and claim only what you support.
  • For experience/deployed-systems papers, provide what you can — configs, anonymized traces, analysis scripts — even when the production system itself cannot ship.

Output format

[Provenance] hardware/OS/toolchain/workload/method/code pinned at collection time? gaps?
[Turnkey] claim-to-experiment map + one-command runs + small-scale mode present? yes/no
[Environment] container or pinned lockfile? hardware dependencies documented?
[Anonymity] artifact runnable AND double-blind (no names/hosts/owner strings)? yes/no
[Clean-machine] runs from a fresh checkout on a clean host? yes/no
[Badge readiness] on track for Available / Functional / Reproduced? blockers?
信息
Category 编程开发
Name atc-reproducibility
版本 v20260724
大小 4.28KB
更新时间 2026-07-28
语言