Skip to content

Reproducible Computational Environments

Scrollable formula. Use Left and Right arrow keys to reveal hidden content.

Scrollable table. Use Left and Right arrow keys to reveal additional columns.

Scrollable figure. Use Left and Right arrow keys to inspect hidden content.

A reproducible computational environment is the complete record needed to rerun one finite claim and judge the regenerated outputs by a rule fixed in advance. A lockfile, container, checksum, or persistent identifier can secure one layer of that record, but no single layer captures the model, conventions, hardware, execution, numerical evidence, and scientific interpretation. Computational reproducibility therefore remains distinct from replication and from correctness, as emphasized by National Academies 2019, Summary pp. 6–9.

Helpful background. Computational Experiments and Reproducible Workflows develops the full workflow; Numerical Analysis, Verification, and Validation separates rerunning a calculation from verifying its equations and validating its model.

LayerRecord before executionDecisive check
Scientific claimQuantity, model, regime, units, conventions, uncertainty, and acceptance ruleThe regenerated quantity answers the same question
Source and workflowImmutable revision, generated source, local changes, build files, entry point, and transformation graphA clean tree reaches every claimed product without manual edits
InputsExact data or generation recipe, schema, checksum, license, and access conditionsRetrieved bytes and interpreted units match the declared input
Dependencies and buildResolved dependency graph, compiler or interpreter, flags, package sources, and rebuild recipeReconstruction does not consult a moving branch, tag, or package index
Runtime and hardwareOperating system or image digest, architecture, drivers, numerical libraries, precision, threads, ranks, and reduction policyEvery relevant substitution is recorded and tested
RandomnessGenerator and version, distribution routine, key or seed mapping, sample count, and scheduling ruleReordering work does not silently change the ensemble
ProductsRaw and intermediate outputs, schemas, logs, diagnostics, discrepancies, and pass or failureThe comparison can be repeated without trusting a plot or summary
PreservationVersion-specific deposit, content identifiers, checksum package, metadata, and licensesAn uninvolved reader can retrieve and lawfully inspect the exact materials

A provenance graph should connect the entities used and generated by each activity, with the responsible software or person stated where it matters; the core relations are defined in Moreau and Missier 2013, PROV-DM §§ 2.1 and 5.1–5.3. The graph explains derivation. It does not show that the equations or tolerances were appropriate.

MechanismWhat it fixesWhat it does not prove
Revision or SWHIDA source snapshot or content-derived software objectBuildability, dependencies, or scientific validity
Resolved lockfileA dependency solution under a named package ecosystemAvailability, compiler behavior, or hardware semantics
OCI image digestContent-addressed image configuration and layersHost kernel, CPU or GPU, driver, external service, or correct physics
SPDX SBOMComponents, relationships, and licensing or security metadataThat those components rebuilt or executed the result
PROV recordWhich entities and activities used or generated one anotherNumerical convergence or causal correctness of the graph
BagIt manifestsPackage completeness and byte integrityMeaning, executability, or correctness of the bytes
Version DOIOne deposited version rather than a work familyContent identity unless the deposited files are also verified

The source-identity syntax is specified in SWHID v1.2, §§ 4–6, checked 2026-08-24. OCI descriptors make content addressable through digests and sizes OCI Image Specification v1.1.1, Descriptor headings “Properties” through “Verification”, while SPDX provides a separate component and relationship model SPDX 3.0.1, complete specification, checked 2026-08-24. BagIt checksum and tag semantics are defined in Kunze et al. 2018, RFC 8493 §§ 2–3. For an exact rerun, cite the version DOI rather than only the concept DOI Zenodo 2026, “Which DOI should I use in citations?”, checked 2026-08-24.

Choose the comparison per product. Bitwise agreement requires identical bytes. Numerical agreement requires a declared quantity, norm, absolute and relative tolerances, and a reference. One useful normalized discrepancy is

D(Q,Q∗)=∥Q−Q∗∥aabs+arel∥Q∗∥≤1.D(Q,Q_*)= \frac{\lVert Q-Q_*\rVert} {a_{\rm abs}+a_{\rm rel}\lVert Q_*\rVert} \le 1.

Statistical agreement requires the estimand, sample construction, test or distance, uncertainty, and decision rule. The tolerance must reflect the scientific error budget rather than be widened after the preferred result is seen. Even exact bitwise reproduction can repeat a bug National Academies 2019, Summary p. 9.

  1. Retrieve the exact version, verify every identifier and checksum, and record the retrieval route.
  2. Reconstruct on a clean host; after lawful inputs are fetched, disable network access and record every unavoidable substitution.
  3. Run the documented entry point without editing source, inputs, intermediates, or thresholds.
  4. Preserve raw products and logs, then compare them under the predeclared bitwise, numerical, or statistical rule.
  5. Retain failed criteria and actual discrepancies instead of publishing only a successful figure.
  6. Classify failure as identity, reconstruction, execution, numerical comparison, or scientific interpretation before changing the experiment.

Environments, Dependencies, and Precision develops cross-platform variation; Workflow Automation and Provenance develops the dependency graph; Determinism, Randomness, and Ensemble Runs develops statistical products; and Archiving and Independent Reproduction develops the preservation and uninvolved-runner test.

The container is treated as the experiment. Preserve rebuild materials and record host hardware, drivers, external services, and numerical controls that the image does not contain.

Availability is mistaken for reproducibility. Public code and data make a rerun possible only when their exact identities, semantics, entry point, and comparison rule are recoverable.

A successful rerun is called validation. Reproduction tests a declared computational path. Verification, convergence, uncertainty, and comparison with the physical system remain separate evidence.

  • Kunze, John, John Littman, Liz Madden, Emily Scancella, and Chris Adams. “The BagIt File Packaging Format (V1.0).” RFC 8493. Internet Engineering Task Force, 2018. Specification.
  • Moreau, Luc, and Paolo Missier, eds. PROV-DM: The PROV Data Model. W3C Recommendation, 30 April 2013. Specification.
  • National Academies of Sciences, Engineering, and Medicine. Reproducibility and Replicability in Science. Washington, DC: National Academies Press, 2019. DOI.
  • Open Container Initiative. 2025. OCI Image Format Specification, version 1.1.1. Descriptor specification.
  • Software Heritage. 2026. Software Hash Identifier (SWHID) Specification, version 1.2. Specification.
  • SPDX Project. 2024. System Package Data Exchange Specification, version 3.0.1. Specification.
  • Zenodo. “Versioning.” Documentation checked 24 August 2026. Documentation.