eurosys-reproducibility
GitHub用于增强EuroSys论文可复现性的技能,涵盖硬件软件溯源、性能方差控制、工作负载版本管理及双盲审查下的可用性声明撰写。
Trigger Scenarios
Install
npx skills add brycewang-stanford/Awesome-Journal-Skills --skill eurosys-reproducibility -g -y
SKILL.md
Frontmatter
{
"name": "eurosys-reproducibility",
"description": "Use when hardening the reproducibility story of a EuroSys paper — recording hardware and software provenance for every number, taming performance variance with repeated runs and dispersion reporting, versioning workloads and traces, and writing an availability statement that survives both double-blind review and the sysartifacts AEC."
}
EuroSys Reproducibility
Use this while experiments are still running — reproducibility retrofitted in
deadline week is transcription, not engineering. The venue context: EuroSys
papers live on measured performance claims, the community runs a badge-granting
artifact evaluation (sysartifacts.github.io), and SIGOPS has publicly digested
five years of EuroSys AE lessons (sigops.org blog, 2025; rendered 2026-07-08).
A paper whose numbers cannot be regenerated by its own authors three months
later fails both review-time scrutiny and post-acceptance AE.
The provenance ledger
Keep one machine-readable record per reported number. Minimum fields:
| Field | Why EuroSys reviewers care |
|---|---|
| Commit hash of system under test | "Which version got 2.1x?" is a real AE question |
| Baseline name + version + config | Untuned-baseline suspicion is the venue's default |
| Hardware: CPU/RAM/NIC/storage, topology | Systems results rarely transfer across boxes |
| OS/kernel, key library versions | Kernel changes move I/O and scheduler numbers |
| Workload/trace + generator seed | Trace provenance is checked, not assumed |
| Repetitions, warm-up policy | Distinguishes measurement from anecdote |
| Timestamp + raw-output path | Lets you rebuild any figure from raw logs |
Variance discipline
Single-run numbers are the most common silent reproducibility failure in systems evaluation:
- Repeat every headline measurement enough times to see its spread; report median plus an explicit dispersion measure (stdev, IQR, or min–max), and say in the caption which one it is.
- Isolate noise sources you control: pin frequencies, disable turbo where it distorts comparisons, note co-located load, randomize run order across systems so drift does not favor yours.
- Tail metrics (p99 and beyond) need far more samples than means; state the sample count whenever a tail latency is claimed.
- When a difference is within run-to-run spread, say so — EuroSys reviewers reward calibrated claims over uniform victory narratives.
Automation floor
The practical bar: any figure regenerates from raw data with one command.
# Layout that keeps figures honest
experiments/
fig7_throughput/
run.sh # executes the sweep, writes results/*.csv with metadata header
plot.py # reads results/, emits fig7.pdf — no hand-edited numbers
results/ # raw outputs, never overwritten, one dir per run timestamp
make fig7 # the only path by which fig7.pdf ever changes
If a plot was ever touched manually, its provenance is broken and the AEC will find the discrepancy before you do.
Availability statement, two audiences
- Review time (double-blind): describe what exists — "an anonymized repository containing the system, workload generator, and run scripts accompanies the submission" — without leaking the lab's identity through URLs, paths, or commit authors.
- Camera-ready / AE time: replace with the DOI-backed archive and the badge set being sought. Restricted traces (production data, partner NDAs) need an honest fallback: a synthetic generator calibrated to the trace's published statistics, with the calibration method described.
Restricted evidence, stated honestly
Some EuroSys evidence legitimately cannot ship — production traces under NDA, partner clusters, proprietary workloads. The honest pattern:
- Name the restriction and its scope precisely ("the ingestion trace from operator X cannot be released; its summary statistics are in Table 3").
- Ship a calibrated synthetic substitute and the calibration procedure, so external readers can approximate the regime.
- Keep at least one headline result on fully public inputs; a paper whose every number depends on unreleasable data asks reviewers for faith the venue does not trade in.
- Never let the availability paragraph imply more openness than the AEC will find; the badge process makes overstatement visible in print.
Pre-deadline reproducibility drill
One week before the paper gate, run the drill on a machine that never ran the experiments:
- Clean checkout, environment build from the lockfile alone — record every undocumented step it turns out to need.
- Regenerate two figures end to end: one cheap, one expensive.
- Diff regenerated numbers against the draft's numbers; investigate any drift beyond the reported dispersion.
- Fix the documentation, not just the outcome — the drill's product is the README the AEC will eventually read.
Quick self-test
- Can a new student regenerate Figure 7 from a clean checkout in one command?
- Does every table cell trace to a raw log file with hardware metadata?
- Are repetition counts and dispersion visible for every performance claim?
- Would the availability paragraph survive both anonymity and the AEC?
Output format
[Repro grade] regenerable / scripted-with-gaps / manual
[Ledger coverage] <numbers with full provenance / total reported numbers>
[Variance findings] <single-run claims, missing dispersion, undersampled tails>
[Workload provenance] <traces and generators with version + seed status>
[Availability draft] <review-time text and camera-ready plan>
Version History
- 9f86f09 Current 2026-07-19 15:41


