interviewpath
  • 0day streak
  • 10total XP
  • Level 1
0/6

Unit 9 · Research methods · Lesson 6 of 12

Reproducibility, provenance and artifacts

Provenance is the record of exactly how every number and figure was produced: code version, configuration, data, environment and seeds. It lets you, a reviewer or a colleague regenerate results, and artifact evaluation and ML checklists formalize it.
About 4 hFocus mode

Step 1: Learn the ideas

  • Repeatability, reproducibility, replicability
  • Provenance: code, configuration, data, environment, hardware, seeds
  • Experiment harnesses and run identifiers
  • Raw data and scripted figure regeneration
  • Environment pinning: lockfiles and container digests
  • Nondeterminism and determinism controls
  • Artifact evaluation and ACM badges
  • ML reporting checklists
  • Data and model versioning, licenses

Why it matters

A result you cannot regenerate is a result you cannot defend. When a reviewer, supervisor or interviewer asks "what exactly produced this number?", "probably the run from Tuesday" ends the discussion. Provenance also protects you: many surprising results turn out to be configuration mistakes, and you can only find them if the configuration was recorded.

Core ideas

Three words, carefully. ACM's badging policy (version 1.1) defines repeatability as the same team obtaining a result again with the same setup, reproducibility as a different team obtaining it with the original authors' artifacts, and replicability as a different team obtaining it with independently developed artifacts. ACM swapped the last two terms in 2020 to align with other sciences, and some communities still use them the other way round, so define the terms whenever you use them.

Provenance for every run. Record automatically:

  • code: commit hash plus the uncommitted diff, or refuse to run on a dirty tree;
  • the fully resolved configuration, including defaults;
  • data: name, version or content hash, split and preprocessing version;
  • environment: OS and kernel, library versions, compiler flags, container image digest;
  • hardware: CPU or GPU model, memory, cloud instance type and region, frequency-scaling and SMT settings;
  • seeds, command line, host, start and end time;
  • raw outputs, not only aggregates.

Sandve et al.'s Ten Simple Rules for Reproducible Computational Research compress the habits: track how every result was produced, avoid manual data manipulation, archive exact versions of external programs, version-control scripts, record intermediate results, note seeds, keep the raw data behind plots and connect statements in the text to underlying results.

Harness, not heroics. Give every run an identifier and a directory holding its configuration, environment snapshot, logs and results. Figures come from scripts that read those directories, never from numbers copied by hand. A thesis results table should be regenerable with one command.

Nondeterminism. Seeds make sampling repeatable, but GPU kernels, parallel reductions, thread scheduling and remote services (including hosted language models) can still vary. For each source, decide whether it matters for your claim: control it (deterministic algorithms, pinned model versions, cached API responses) or measure it with repeated runs. Deterministic modes can cost speed, so record whether they were on.

Artifacts and badges. Many systems conferences run an artifact evaluation, typically after acceptance. ACM's badges mark artifacts that are archived publicly (Available), checked to be documented, consistent, complete and exercisable (Evaluated – Functional) or well structured for reuse (Evaluated – Reusable), and results obtained by others with (Reproduced) or without (Replicated) the authors' artifacts. A good artifact offers a quick first run, states hardware and time requirements and maps each claim to a script; the sysartifacts guides show how. For ML, the NeurIPS paper checklist asks about claims, limitations, reproducibility details, access to data and code, statistical significance and compute.

Common misconceptions

  • "The code is on GitHub, so it is reproducible." Without exact configuration, data version, environment and seeds, others get different numbers and cannot tell why.
  • "Containers solve reproducibility." They pin software, not hardware, external services or data, and a mutable base-image tag drifts.
  • "A seed makes GPU training deterministic." Some kernels and reductions stay nondeterministic unless configured, and hosted models can change behind the same name.
  • "Reproduced means identical numbers." Evaluations accept agreement within a tolerance that supports the same conclusion; define that tolerance beforehand.
  • "Provenance is for the final runs." Exploratory runs are where you will need to trace an odd result; log from the start.

How to approach it

Retrofit one past project: add a harness that writes the provenance above, regenerate one figure from raw logs with one command and write an artifact README following the sysartifacts packaging guide. In interviews, expect "how would someone else reproduce this?"; strong answers name the specific records kept and the known sources of irreproducibility.

Suggested order

  1. 1Read the ACM Artifact Review and Badging page (version 1.1): the terminology section, the note on swapped terms and the badge definitions.
  2. 2Read Sandve et al., "Ten Simple Rules for Reproducible Computational Research", and mark which rules your most recent project followed.
  3. 3Read the sysartifacts "Guide for authors to package artifacts" and skim one recent conference's list of evaluated artifacts.
  4. 4Read the NeurIPS Paper Checklist guidelines and answer every question for one past ML project.
  5. 5Skim Pineau et al. for how the NeurIPS reproducibility program and its checklist came about.
  6. 6Do the "Package one past project as a reproducible artifact" exercise, then time a fresh-clone reproduction of one figure.

Step 2: Check off what you can do

Tap each one you can genuinely do or explain. Each earns 10 XP.

Step 3: Go deeper

  • Artifact Review and Badging, Version 1.1Start here

    ACM

    Authoritative definitions of repeatability, reproducibility and replicability and of the artifact badges.

    Open(opens in a new tab)Not checkable automatically, 5 Oct 2026
  • Ten Simple Rules for Reproducible Computational ResearchStart here

    PLOS Computational Biology (open access)

    Ten habits that make computational results traceable; use as a checklist for your experiment harness.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • Systems Research Artifacts (artifact evaluation for systems conferences)

    sysartifacts community site

    Section: Guide for authors to package artifacts

    Practical instructions for packaging an artifact that evaluators can run.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • NeurIPS Paper Checklist Guidelines

    NeurIPS

    ML reporting questions on claims, limitations, code and data access, statistics and compute.

    Open(opens in a new tab)Link responded, 5 Oct 2026
  • Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)

    arXiv

    Background and lessons of the NeurIPS 2019 reproducibility program that introduced the checklist.

    Open(opens in a new tab)Link responded, 5 Oct 2026

Step 4: Practice

Start with your own project: the goal is that someone else can regenerate one figure on a clean machine using only your README. Time yourself doing it from a fresh clone and fix every undocumented step. Then switch sides and reproduce one figure from an artifact-evaluated paper, noting each step the authors left implicit.

Record attempts on each problem’s page (+15 XP, +10 more when solved on your own).

Step 5: Test yourself

Answer each one out loud or on paper before you finish the lesson.

  1. Question 1Could you say which code version and configuration produced each number in your last report?
  2. Question 2Which parts of your pipeline are nondeterministic even with fixed seeds?
  3. Question 3What does your environment pinning not cover (hardware, external APIs, data)?
  4. Question 4What tolerance would you accept for a reproduced result, and why?
  5. Question 5Which manual steps sit between your raw data and your figures?

You’re done when you can

  • Regenerate one figure of a past project from raw logs with a single command on a fresh clone.
  • Define repeatability, reproducibility and replicability as ACM does and explain why the terms need defining in a paper.
  • Show a run directory that records commit, diff, resolved configuration, data version, environment, hardware and seeds.
  • Explain the difference between the Functional, Reusable, Reproduced and Replicated badges.

Finish the lesson

How confident do you feel?

Lesson complete!

+50 XP

Reviews will come up on the Practice tab so it sticks.

Unlocks next: Negative results, failed reproductions and revising hypotheses

Your notes and study time

Log study time