Skip to content
PlagiatScanner.de
Research data · DAT-20

Build a reproducibility package for a thesis

Bring together a fixed data state, executable analysis, documented software environment, expected outputs and a README with one clear entry point. Separate source data, derived data, code and results, and release only material that may be shared ethically and lawfully. Test the package from a clean folder in a fresh environment. If protected data must be withheld, provide metadata, a realistic synthetic example and an access route instead of implying that the complete analysis is openly reproducible.

Complete README and folder checklistReviewed 4 September 2026

Define the result that should be reproduced

“Reproduce the whole thesis” is usually too vague to test. List the central tables, figures and statistics that the package is intended to create. Assign result IDs and map them to chapters. State whether the workflow begins with raw data, an authorised derived dataset or a small technical example. Put these boundaries near the top of the README.

Keep reproduction distinct from replication. This package should first show that the declared process applied to the same permitted inputs produces the documented outputs. A new sample and independent replication answer another scientific question. Claim only the level that the clean test has demonstrated.

Let the folder layout express the data journey

Keep the top level small: README, licensing and citation information, environment specification, and directories for data, code, output and supporting documentation. Analysis must never overwrite source data. Derived data should be rebuildable from the permitted input. The generated-output folder begins empty, or reference outputs are stored in a clearly separate location.

Use relative paths so the package is not tied to a user name or desktop. Filenames can communicate execution order, such as 01_import, 02_clean and 03_models. Exclude caches, temporary files, operating-system debris and credentials. A manifest lists every included file, its purpose and, for important inputs, a checksum.

Write a README for someone outside the project

Open with purpose, coverage and expected result IDs. Name prerequisites, tested software versions and installation steps. Give one launch command or a numbered graphical sequence. Mention runtime only when measured and qualify hardware dependence. Explain where logs and generated files will appear and what a successful run looks like.

Add a data inventory containing file, provenance, version, licence or access condition, protection class and producing step. Explain abbreviations, units and missing-value codes. Document expected warnings and accepted numerical tolerances. Conclude with creators, preferred citation, licensing, contact details and a concise change history.

Authority asset: complete folder and README checklist

Suggested package tree

project/
├── README.md
├── CITATION.cff
├── LICENSES.md
├── environment/
├── data/source-restricted/
├── data/derived/
├── code/
├── output/reference/
├── output/generated/
└── docs/

README fields to verify

  1. Purpose, result IDs and explicit limits.
  2. Directory map and role of each file.
  3. Data provenance, version, rights and access.
  4. Software, packages, operating system and installation.
  5. Entry command, order, parameters and random seed.
  6. Expected output, logs and comparison tolerances.
  7. Test date, tested platform and known problems.
  8. Creators, licence, citation and contact route.

Mark each item as included, not applicable with a reason, or protected with an access statement. A blank field is not a documented exclusion.

Openness stops where rights and duties require it

Check version history, metadata, logs and intermediate outputs as well as visible folders for personal or confidential information. Credentials, tokens and live local configuration never belong in the release. If source data cannot be distributed, the README should provide a precise description and access conditions. A small synthetic dataset can test the technical pathway without pretending to reproduce the confidential study result.

Separate licences for software, data and written documentation. Obtain third-party packages through declared dependencies rather than copying them without review. Cite external code and data. Check consent, ethics conditions, contracts and repository terms. For sensitive material, use the anonymisation and residual-risk workflow before release.

Run the package in a clean environment

Unpack the fixed release into an empty directory or new virtual environment. Follow only the README, without relying on knowledge from the development computer. Test installation, paths and the single entry point. The run should write to output/generated without replacing reference files. Compare result IDs, case counts, tables and checksums or documented numerical tolerances.

Ask another person to repeat the process and capture every question. Correct the instructions or structure, fix a new version and test again. Record date, platform, outcome and residual differences. Do not silently edit the tested release afterwards; corrections receive a new version and concise change note.

Connect submission, preservation and citation

Create an archive and manifest for the tested state. Deposit it in the permitted institutional or research repository and describe access restrictions accurately. Point the thesis to the precise version rather than a moving shared folder. For Git-based work, the guide to releases, commits and archive DOIs helps select the citation target.

Finally, verify that result IDs in the thesis match the package and public links work for a signed-out visitor where access is meant to be open. Back up the submitted release independently. A collection of files is not a reproducibility package merely because it runs on its creator's laptop; an independent reader must understand its scope, protection boundary and execution.

Maintain the release without rewriting history

A thesis package can reveal a typo or code defect after submission. Preserve the deposited state, record the problem and issue a corrected version where policy permits. Explain whether reported conclusions changed. A new DOI version, release note or erratum can keep the trail clear. Never replace an archived package in a way that makes the cited evidence silently different.

Official and institutional sources

  1. DataCite: Citing code – versioning, metadata and persistent identifiers.
  2. Zenodo: Describe records – official metadata for versions, creators, rights and related identifiers.
  3. UK Data Service: Document your data – institutional guidance for README files, dictionaries and context.