From 2b6381e92670bbf240c8490115ef338246712081 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sat, 28 Oct 2023 12:26:35 +0200 Subject: [PATCH] Initial commit --- .devcontainer.json | 16 + .editorconfig | 16 + .envrc | 1 + .github/CODEOWNERS | 1 + .github/dependabot.yml | 7 + .github/settings.yml | 55 + .github/workflows/build-main.yml | 84 + .github/workflows/build-pr.yml | 46 + .github/workflows/comment-pr.yml | 78 + .gitignore | 18 + .prettierignore | 6 + .prettierrc | 3 + CITATION.cff | 105 + LICENSE | 1 + README.md | 94 + flake.lock | 217 ++ flake.nix | 178 ++ lib/scenario-1/Makefile | 11 + lib/scenario-1/src/datetime.c | 10 + lib/scenario-2/Dockerfile | 10 + lib/scenario-2/Makefile | 17 + lib/scenario-2/datetime.c | 10 + lib/scenario-3/Makefile | 10 + lib/scenario-3/guix.scm | 27 + lib/scenario-3/src/datetime.c | 10 + lib/scenario-4/Makefile | 14 + lib/scenario-4/default.nix | 17 + lib/scenario-4/src/datetime.c | 10 + lib/scenario-5/Makefile | 14 + lib/scenario-5/flake.lock | 79 + lib/scenario-5/flake.nix | 27 + lib/scenario-5/src/datetime.c | 10 + lib/scenario-6/Makefile | 15 + lib/scenario-6/flake.lock | 79 + lib/scenario-6/flake.nix | 35 + lib/scenario-6/src/datetime.c | 10 + lib/scenario-7/Makefile | 11 + lib/scenario-7/src/hello-world.typst | 24 + lib/scenario-8/Makefile | 14 + lib/scenario-8/flake.lock | 58 + lib/scenario-8/flake.nix | 28 + lib/scenario-8/src/hello-world.typst | 24 + lib/scenario-9/Makefile | 14 + lib/scenario-9/flake.lock | 58 + lib/scenario-9/flake.nix | 28 + lib/scenario-9/src/hello-world.typst | 25 + nix/imports/formatter.nix | 8 + nix/imports/overlay.nix | 9 + nix/imports/pkgs.nix | 17 + nix/imports/shell.nix | 17 + nix/pkgs/typst-packages.nix | 18 + nix/pkgs/typst-wrapper.nix | 15 + public-key.pem | 4 + resources/graphviz/my-app-not-ok.dot | 62 + resources/graphviz/python.dot | 66 + ...scientific-method-with-reproducibility.dot | 20 + resources/graphviz/scientific-method.dot | 18 + resources/images/ORCIDiD_iconvector.svg | 14 + .../images/PXL_20230719_092843523-01.jpeg | Bin 0 -> 806040 bytes resources/images/binary.svg | 3 + resources/images/build-inputs1.svg | 21 + resources/images/build-inputs2.svg | 591 +++++ resources/images/builds.svg | 21 + resources/images/builds2.svg | 21 + resources/images/circle-check.svg | 1 + resources/images/circle-exclamation.svg | 1 + resources/images/circle-info.svg | 1 + resources/images/circle-question.svg | 1 + resources/images/computation-cogs.svg | 17 + resources/images/diffoscope-report.svg | 1954 +++++++++++++++++ resources/images/diffoscope-typst.svg | 663 ++++++ resources/images/flake-vs-legacy.jpg | Bin 0 -> 243793 bytes resources/images/hello-world.svg | 836 +++++++ resources/images/highlighter-solid.svg | 1 + resources/images/inputs-cube-2.svg | 21 + resources/images/inputs-cube-3.svg | 21 + resources/images/inputs-cube.svg | 3 + resources/images/inputs-icon.svg | 17 + resources/images/lightbulb-solid.svg | 1 + resources/images/note-sticky.svg | 1 + resources/images/quote-left.svg | 1 + resources/images/quote-right.svg | 1 + resources/images/rules.svg | 21 + .../images/security-independent-builds.svg | 10 + resources/images/sourcecode.svg | 1 + .../bash/bash-diffoscope-comparison.log | 1 + .../sourcecode/bash/bash-fixing-builds.log | 6 + .../bash/bash-gcc-not-reproducible-builds.log | 5 + resources/sourcecode/composer.json | 7 + resources/sourcecode/date-format-flags.log | 6 + resources/sourcecode/datetime.c | 10 + resources/sourcecode/datetime.c.log | 11 + resources/sourcecode/debian-nix.log | 8 + resources/sourcecode/example-makefile | 19 + .../sourcecode/listing-typst-version.log | 2 + .../sourcecode/montecarlo-pi-compilation.log | 7 + resources/sourcecode/montecarlo-pi.c | 21 + resources/sourcecode/montecarlo-pi.c.log | 9 + resources/sourcecode/nix-typst-build-diff.log | 26 + resources/sourcecode/nodejs.dockerfile | 6 + resources/sourcecode/scenario-1.log | 11 + resources/sourcecode/scenario-2.log | 15 + resources/sourcecode/scenario-3.log | 13 + resources/sourcecode/scenario-4.log | 13 + resources/sourcecode/scenario-5.log | 11 + resources/sourcecode/scenario-6.log | 13 + resources/sourcecode/scenario-7.log | 7 + .../sourcecode/scenario-8-diffoscope.log | 2 + resources/sourcecode/scenario-8-rebuild.log | 5 + resources/sourcecode/scenario-8.log | 7 + resources/sourcecode/scenario-9-rebuild.log | 4 + resources/sourcecode/sunflowers1.log | 2 + resources/sourcecode/sunflowers2.log | 2 + resources/sourcecode/tar-sort-name-flag.log | 1 + resources/typst/ch3-table-conclusion.typ | 94 + resources/typst/ch4-table-conclusion.typ | 92 + ...equivalence-classes-of-reproducibility.typ | 24 + resources/typst/essawy-table.typ | 55 + resources/typst/essawy.typ | 107 + resources/typst/figure-checksum.typ | 31 + resources/typst/functions-vs-computations.typ | 29 + resources/typst/inputs-and-outputs-part1.typ | 18 + resources/typst/inputs-and-outputs-part2.typ | 18 + resources/typst/inputs-and-outputs-part3.typ | 18 + resources/typst/inputs-and-outputs-part4.typ | 32 + .../typst/inputs-computation-outputs.typ | 15 + resources/typst/my-app-graph-not-ok.typ | 33 + resources/typst/python-graph.typ | 37 + resources/typst/reproducibility-rule.typ | 21 + resources/typst/scientific-method-w-r13y.typ | 15 + resources/typst/scientific-method.typ | 15 + src/thesis/1-introduction.typ | 391 ++++ src/thesis/2-related-work.typ | 11 + src/thesis/2-reproducibility.typ | 1773 +++++++++++++++ src/thesis/3-tools.typ | 1023 +++++++++ src/thesis/4-conclusion.typ | 672 ++++++ src/thesis/abstract.typ | 29 + src/thesis/accessibility.typ | 57 + src/thesis/acknowledgement.typ | 40 + src/thesis/disclaimer.typ | 8 + src/thesis/extra.typ | 24 + src/thesis/glossary.typ | 191 ++ src/thesis/imports/colors.typ | 1 + src/thesis/imports/preamble.typ | 8 + src/thesis/imports/workarounds.typ | 57 + src/thesis/literature.bib | 951 ++++++++ src/thesis/main.typ | 49 + src/thesis/theme/UMONS-fs-logo.typ | 15 + src/thesis/theme/UMONS-logo.svg | 73 + src/thesis/theme/UMONS-logo.typ | 21 + src/thesis/theme/UMONS_FS-logo.svg | 82 + src/thesis/theme/UMONS_FS.svg | 94 + src/thesis/theme/abstract.typ | 9 + src/thesis/theme/acknowledgement.typ | 9 + src/thesis/theme/colors.typ | 7 + src/thesis/theme/common/metadata.typ | 55 + src/thesis/theme/common/titlepage.typ | 105 + src/thesis/theme/definition.typ | 35 + src/thesis/theme/disclaimer.typ | 25 + src/thesis/theme/glossary.typ | 20 + src/thesis/theme/infos.typ | 147 ++ src/thesis/theme/leftblank.typ | 17 + src/thesis/theme/template.typ | 306 +++ 163 files changed, 13332 insertions(+) create mode 100644 .devcontainer.json create mode 100644 .editorconfig create mode 100644 .envrc create mode 100644 .github/CODEOWNERS create mode 100644 .github/dependabot.yml create mode 100644 .github/settings.yml create mode 100644 .github/workflows/build-main.yml create mode 100644 .github/workflows/build-pr.yml create mode 100644 .github/workflows/comment-pr.yml create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 CITATION.cff create mode 100644 LICENSE create mode 100644 README.md create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 lib/scenario-1/Makefile create mode 100644 lib/scenario-1/src/datetime.c create mode 100644 lib/scenario-2/Dockerfile create mode 100644 lib/scenario-2/Makefile create mode 100644 lib/scenario-2/datetime.c create mode 100644 lib/scenario-3/Makefile create mode 100644 lib/scenario-3/guix.scm create mode 100644 lib/scenario-3/src/datetime.c create mode 100644 lib/scenario-4/Makefile create mode 100644 lib/scenario-4/default.nix create mode 100644 lib/scenario-4/src/datetime.c create mode 100644 lib/scenario-5/Makefile create mode 100644 lib/scenario-5/flake.lock create mode 100644 lib/scenario-5/flake.nix create mode 100644 lib/scenario-5/src/datetime.c create mode 100644 lib/scenario-6/Makefile create mode 100644 lib/scenario-6/flake.lock create mode 100644 lib/scenario-6/flake.nix create mode 100644 lib/scenario-6/src/datetime.c create mode 100644 lib/scenario-7/Makefile create mode 100644 lib/scenario-7/src/hello-world.typst create mode 100644 lib/scenario-8/Makefile create mode 100644 lib/scenario-8/flake.lock create mode 100644 lib/scenario-8/flake.nix create mode 100644 lib/scenario-8/src/hello-world.typst create mode 100644 lib/scenario-9/Makefile create mode 100644 lib/scenario-9/flake.lock create mode 100644 lib/scenario-9/flake.nix create mode 100644 lib/scenario-9/src/hello-world.typst create mode 100644 nix/imports/formatter.nix create mode 100644 nix/imports/overlay.nix create mode 100644 nix/imports/pkgs.nix create mode 100644 nix/imports/shell.nix create mode 100644 nix/pkgs/typst-packages.nix create mode 100644 nix/pkgs/typst-wrapper.nix create mode 100644 public-key.pem create mode 100644 resources/graphviz/my-app-not-ok.dot create mode 100644 resources/graphviz/python.dot create mode 100644 resources/graphviz/scientific-method-with-reproducibility.dot create mode 100644 resources/graphviz/scientific-method.dot create mode 100644 resources/images/ORCIDiD_iconvector.svg create mode 100644 resources/images/PXL_20230719_092843523-01.jpeg create mode 100644 resources/images/binary.svg create mode 100644 resources/images/build-inputs1.svg create mode 100644 resources/images/build-inputs2.svg create mode 100644 resources/images/builds.svg create mode 100644 resources/images/builds2.svg create mode 100644 resources/images/circle-check.svg create mode 100644 resources/images/circle-exclamation.svg create mode 100644 resources/images/circle-info.svg create mode 100644 resources/images/circle-question.svg create mode 100644 resources/images/computation-cogs.svg create mode 100644 resources/images/diffoscope-report.svg create mode 100644 resources/images/diffoscope-typst.svg create mode 100644 resources/images/flake-vs-legacy.jpg create mode 100644 resources/images/hello-world.svg create mode 100644 resources/images/highlighter-solid.svg create mode 100644 resources/images/inputs-cube-2.svg create mode 100644 resources/images/inputs-cube-3.svg create mode 100644 resources/images/inputs-cube.svg create mode 100644 resources/images/inputs-icon.svg create mode 100644 resources/images/lightbulb-solid.svg create mode 100644 resources/images/note-sticky.svg create mode 100644 resources/images/quote-left.svg create mode 100644 resources/images/quote-right.svg create mode 100644 resources/images/rules.svg create mode 100644 resources/images/security-independent-builds.svg create mode 100644 resources/images/sourcecode.svg create mode 100644 resources/sourcecode/bash/bash-diffoscope-comparison.log create mode 100644 resources/sourcecode/bash/bash-fixing-builds.log create mode 100644 resources/sourcecode/bash/bash-gcc-not-reproducible-builds.log create mode 100644 resources/sourcecode/composer.json create mode 100644 resources/sourcecode/date-format-flags.log create mode 100644 resources/sourcecode/datetime.c create mode 100644 resources/sourcecode/datetime.c.log create mode 100644 resources/sourcecode/debian-nix.log create mode 100644 resources/sourcecode/example-makefile create mode 100644 resources/sourcecode/listing-typst-version.log create mode 100644 resources/sourcecode/montecarlo-pi-compilation.log create mode 100644 resources/sourcecode/montecarlo-pi.c create mode 100644 resources/sourcecode/montecarlo-pi.c.log create mode 100644 resources/sourcecode/nix-typst-build-diff.log create mode 100644 resources/sourcecode/nodejs.dockerfile create mode 100644 resources/sourcecode/scenario-1.log create mode 100644 resources/sourcecode/scenario-2.log create mode 100644 resources/sourcecode/scenario-3.log create mode 100644 resources/sourcecode/scenario-4.log create mode 100644 resources/sourcecode/scenario-5.log create mode 100644 resources/sourcecode/scenario-6.log create mode 100644 resources/sourcecode/scenario-7.log create mode 100644 resources/sourcecode/scenario-8-diffoscope.log create mode 100644 resources/sourcecode/scenario-8-rebuild.log create mode 100644 resources/sourcecode/scenario-8.log create mode 100644 resources/sourcecode/scenario-9-rebuild.log create mode 100644 resources/sourcecode/sunflowers1.log create mode 100644 resources/sourcecode/sunflowers2.log create mode 100644 resources/sourcecode/tar-sort-name-flag.log create mode 100644 resources/typst/ch3-table-conclusion.typ create mode 100644 resources/typst/ch4-table-conclusion.typ create mode 100644 resources/typst/equivalence-classes-of-reproducibility.typ create mode 100644 resources/typst/essawy-table.typ create mode 100644 resources/typst/essawy.typ create mode 100644 resources/typst/figure-checksum.typ create mode 100644 resources/typst/functions-vs-computations.typ create mode 100644 resources/typst/inputs-and-outputs-part1.typ create mode 100644 resources/typst/inputs-and-outputs-part2.typ create mode 100644 resources/typst/inputs-and-outputs-part3.typ create mode 100644 resources/typst/inputs-and-outputs-part4.typ create mode 100644 resources/typst/inputs-computation-outputs.typ create mode 100644 resources/typst/my-app-graph-not-ok.typ create mode 100644 resources/typst/python-graph.typ create mode 100644 resources/typst/reproducibility-rule.typ create mode 100644 resources/typst/scientific-method-w-r13y.typ create mode 100644 resources/typst/scientific-method.typ create mode 100644 src/thesis/1-introduction.typ create mode 100644 src/thesis/2-related-work.typ create mode 100644 src/thesis/2-reproducibility.typ create mode 100644 src/thesis/3-tools.typ create mode 100644 src/thesis/4-conclusion.typ create mode 100644 src/thesis/abstract.typ create mode 100644 src/thesis/accessibility.typ create mode 100644 src/thesis/acknowledgement.typ create mode 100644 src/thesis/disclaimer.typ create mode 100644 src/thesis/extra.typ create mode 100644 src/thesis/glossary.typ create mode 100644 src/thesis/imports/colors.typ create mode 100644 src/thesis/imports/preamble.typ create mode 100644 src/thesis/imports/workarounds.typ create mode 100644 src/thesis/literature.bib create mode 100644 src/thesis/main.typ create mode 100644 src/thesis/theme/UMONS-fs-logo.typ create mode 100644 src/thesis/theme/UMONS-logo.svg create mode 100644 src/thesis/theme/UMONS-logo.typ create mode 100644 src/thesis/theme/UMONS_FS-logo.svg create mode 100644 src/thesis/theme/UMONS_FS.svg create mode 100644 src/thesis/theme/abstract.typ create mode 100644 src/thesis/theme/acknowledgement.typ create mode 100644 src/thesis/theme/colors.typ create mode 100644 src/thesis/theme/common/metadata.typ create mode 100644 src/thesis/theme/common/titlepage.typ create mode 100644 src/thesis/theme/definition.typ create mode 100644 src/thesis/theme/disclaimer.typ create mode 100644 src/thesis/theme/glossary.typ create mode 100644 src/thesis/theme/infos.typ create mode 100644 src/thesis/theme/leftblank.typ create mode 100644 src/thesis/theme/template.typ diff --git a/.devcontainer.json b/.devcontainer.json new file mode 100644 index 0000000..2070d67 --- /dev/null +++ b/.devcontainer.json @@ -0,0 +1,16 @@ +{ + "image": "mcr.microsoft.com/devcontainers/base:alpine", + "features": { + "ghcr.io/devcontainers/features/nix:1": { + "extraNixConfig": "experimental-features = nix-command flakes" + } + }, + "onCreateCommand": "nix shell nixpkgs#gitMinimal -c nix run nixpkgs#home-manager -- switch --flake git+https://code.europa.eu/ecphp/devs-profile#light --impure", + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.defaultProfile.linux": "fish" + } + } + } + } diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1e03529 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +root = true + +[*] +indent_size = 4 +charset = utf-8 +end_of_line = lf +trim_trailing_whitespace = true + +[Makefile] +indent_style = tab + +[*.{tex,cls,lua,nix,typ,md}] +trim_trailing_whitespace = false +indent_style = space +indent_size = 2 +max_line_length = 80 diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..a5dbbcb --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake . diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..529c034 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @drupol diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..70181ab --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: monthly + open-pull-requests-limit: 10 diff --git a/.github/settings.yml b/.github/settings.yml new file mode 100644 index 0000000..8bc2fb7 --- /dev/null +++ b/.github/settings.yml @@ -0,0 +1,55 @@ +# https://github.com/probot/settings + +branches: + - name: main + protection: + enforce_admins: false + required_pull_request_reviews: + dismiss_stale_reviews: true + require_code_owner_reviews: true + required_approving_review_count: 1 + restrictions: null + required_linear_history: true + - name: update_flake_lock_action + protection: + enforce_admins: false + required_pull_request_reviews: + dismiss_stale_reviews: true + require_code_owner_reviews: false + restrictions: null + required_linear_history: true + +labels: + - name: bug + color: ee0701 + + - name: dependencies + color: 0366d6 + + - name: enhancement + color: 0e8a16 + + - name: question + color: cc317c + + - name: security + color: ee0701 + + - name: stale + color: eeeeee + +repository: + allow_merge_commit: true + allow_rebase_merge: true + allow_squash_merge: true + default_branch: main + description: "Pol Dellaiera's Master Thesis - Reproducibility In Software Engineering" + homepage: https://github.com/drupol/master-thesis + topics: master-thesis,umons + has_downloads: true + has_issues: true + has_pages: false + has_projects: false + has_wiki: false + name: master-thesis + private: true diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml new file mode 100644 index 0000000..978cd7d --- /dev/null +++ b/.github/workflows/build-main.yml @@ -0,0 +1,84 @@ +name: Release + +on: + push: + branches: + - main + paths: + - "src/**" + - "resources/**" + - "**.nix" + - ".github/workflows/*.yml" + +jobs: + dependencies: + name: Build dependencies + runs-on: ubuntu-latest + outputs: + branch: ${{ steps.extract_branch.outputs.branch }} + + steps: + - name: Check out source files + uses: actions/checkout@v4 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + + build: + name: Build PDF files + runs-on: ubuntu-latest + needs: [dependencies] + + steps: + - name: Set git to use LF + run: | + git config --global core.autocrlf false + git config --global core.eol lf + + - name: Check out source files + uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + + - name: Build document + run: | + mkdir -p output + nix build .#thesis --out-link result-thesis --quiet + cp -vr --dereference $(readlink -f result-thesis) thesis + cp -ar thesis/* output/ + + - name: Upload build assets + uses: actions/upload-artifact@v4 + with: + name: artefacts + path: output + + assets: + name: Create release + runs-on: ubuntu-latest + needs: [dependencies, build] + + steps: + - name: Download build assets (${{ matrix.assets.input }}) + uses: actions/download-artifact@v4 + + - name: Rename files + working-directory: artefacts + run: | + for f in *.pdf; do cp ${f} ../$(printf '%s\n' "${{ github.run_number }}--${f%.pdf}--${{ github.sha }}.pdf"); done + + - name: Create pre-release (v${{ github.run_number }}-${{ github.sha }}) + id: create_release + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ github.run_number }}-${{ github.sha }} + name: Release ${{ github.run_number }} (${{ github.sha }}) + draft: false + prerelease: true + files: | + ./*.pdf diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml new file mode 100644 index 0000000..b27671e --- /dev/null +++ b/.github/workflows/build-pr.yml @@ -0,0 +1,46 @@ +name: Build PR + +on: + push: + +jobs: + build: + name: Build PDF files + runs-on: ubuntu-latest + if: github.ref != 'refs/heads/main' + + steps: + - name: Set git to use LF + run: | + git config --global core.autocrlf false + git config --global core.eol lf + + - name: Check out source files + uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + + - name: Build document + run: | + nix build .#thesis --out-link result-thesis --quiet + cp -vr --dereference $(readlink -f result-thesis) thesis + mkdir -p artefacts + cp -ar thesis/* artefacts/ + + - name: Rename files + working-directory: artefacts + run: | + for f in *.pdf; do mv ${f} $(printf '%s\n' "${{ github.run_number }}--${f%.pdf}--${{ github.sha }}.pdf"); done + + - name: Upload build assets + uses: actions/upload-artifact@v4 + with: + name: pdf--branch-${{ steps.extract_branch.outputs.branch }}--${{ github.sha }} + path: artefacts + if-no-files-found: error diff --git a/.github/workflows/comment-pr.yml b/.github/workflows/comment-pr.yml new file mode 100644 index 0000000..cc01972 --- /dev/null +++ b/.github/workflows/comment-pr.yml @@ -0,0 +1,78 @@ +--- +name: Comment Artifact URL on PR + +on: + workflow_run: + types: + - "completed" + workflows: + - "Build PR" + +jobs: + comment: + if: github.event.workflow_run.conclusion == 'success' + runs-on: ubuntu-latest + steps: + - name: Get Artifact and Pull request info + env: + GITHUB_TOKEN: ${{ github.token }} + WORKFLOW_RUN_EVENT_OBJ: ${{ toJSON(github.event.workflow_run) }} + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + run: | + PREVIOUS_JOB_ID=$(jq -r '.id' <<< "$WORKFLOW_RUN_EVENT_OBJ") + echo "Previous Job ID: $PREVIOUS_JOB_ID" + echo "PREVIOUS_JOB_ID=$PREVIOUS_JOB_ID" >> "$GITHUB_ENV" + + SUITE_ID=$(jq -r '.check_suite_id' <<< "$WORKFLOW_RUN_EVENT_OBJ") + echo "Previous Suite ID: $SUITE_ID" + echo "SUITE_ID=$SUITE_ID" >> "$GITHUB_ENV" + + ARTIFACT_ID=$(gh api "/repos/$OWNER/$REPO/actions/artifacts" \ + --jq ".artifacts.[] | + select(.workflow_run.id==${PREVIOUS_JOB_ID}) | + select(.expired==false) | + .id") + + echo "Artifact ID: $ARTIFACT_ID" + echo "ARTIFACT_ID=$ARTIFACT_ID" >> "$GITHUB_ENV" + + PR_NUMBER=$(jq -r '.pull_requests[0].number' \ + <<< "$WORKFLOW_RUN_EVENT_OBJ") + + echo "Pull request Number: $PR_NUMBER" + echo "PR_NUMBER=$PR_NUMBER" >> "$GITHUB_ENV" + + HEAD_SHA=$(jq -r '.pull_requests[0].head.sha' \ + <<< "$WORKFLOW_RUN_EVENT_OBJ") + + echo "Head SHA: $HEAD_SHA" + echo "HEAD_SHA=$HEAD_SHA" >> "$GITHUB_ENV" + - name: Find Comment + uses: peter-evans/find-comment@v3 + id: find-comment + with: + issue-number: ${{ env.PR_NUMBER }} + comment-author: "github-actions[bot]" + - name: Update Comment + env: + JOB_PATH: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ env.PREVIOUS_JOB_ID }}" + ARTIFACT_URL: "${{ github.server_url }}/${{ github.repository }}/suites/${{ env.SUITE_ID }}/artifacts/${{ env.ARTIFACT_ID }}" + HEAD_SHA: "${{ env.HEAD_SHA }}" + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{ env.PR_NUMBER }} + comment-id: ${{ steps.find-comment.outputs.comment-id }} + edit-mode: replace + body: |- + ![badge] + + Build Successful! You can find a link to the downloadable artifact below. + + | Name | Link | + | -------- | ----------------------- | + | Commit | ${{ env.HEAD_SHA }} | + | Logs | ${{ env.JOB_PATH }} | + | Download | ${{ env.ARTIFACT_URL }} | + + [badge]: https://img.shields.io/badge/Build_Success!-0d1117?style=for-the-badge&labelColor=3fb950&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmZmZmIj48cGF0aCBkPSJNMjEuMDMgNS43MmEuNzUuNzUgMCAwIDEgMCAxLjA2bC0xMS41IDExLjVhLjc0Ny43NDcgMCAwIDEtMS4wNzItLjAxMmwtNS41LTUuNzVhLjc1Ljc1IDAgMSAxIDEuMDg0LTEuMDM2bDQuOTcgNS4xOTVMMTkuOTcgNS43MmEuNzUuNzUgMCAwIDEgMS4wNiAwWiI+PC9wYXRoPjwvc3ZnPg== diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e68560 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +/.cache/ +/.devenv/ +/.direnv/ +/build/ +/.vscode/ +/out/ +*.bak* +indent.log +/result +/*.pdf +/*.pdfpc +/src/**/*.pdf +lib/**/output +lib/**/result +lib/**/*.pdf +/trunk/ +cert.pem +private-key.pem diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..c47d4a1 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +/.direnv/ +/.idea/ +/vendor/ +/docs/ +/build/ +CHANGELOG.md diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4b1ce6b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "proseWrap": "always" +} diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..342cd6b --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,105 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: Reproducibility in Software Engineering +message: >- + If you use this software, please cite it using the + metadata from this file. +authors: + - given-names: Pol + family-names: Dellaiera + email: pol.dellaiera@protonmail.com + orcid: 'https://orcid.org/0009-0008-7972-7160' + affiliation: UMons +repository-code: 'https://github.com/drupol/master-thesis' +doi: 10.5281/zenodo.1234 +date-released: 2024-07-01 +url: "https://github.com/drupol/master-thesis" +abstract: >- + The concept of reproducibility has long been a cornerstone + in scientific + + research, ensuring that results are robust, repeatable, + and can be independently + + verified. This concept has been extended to computer + science, focusing on the + + ability to recreate identical software artefacts. However, + the importance of + + reproducibility in software engineering is often + overlooked, leading to + + challenges in the validation, security, and reliability of + software products. + + + This master's thesis aims to investigate the current state + of reproducibility in + + software engineering, exploring both the barriers and + potential solutions to + + making software more reproducible and raising awareness. + It identifies key + + factors that impede reproducibility such as inconsistent + environments, lack of + + standardisation, and incomplete documentation. To tackle + these issues, I propose + + an empirical comparison of tools facilitating software + reproducibility. + + + To provide a comprehensive assessment of reproducibility + in software + + engineering, this study adopts a methodology that involves + a hands-on evaluation + + of four different methods and tools. Through a systematic + evaluation of these + + tools, this research seeks to determine their + effectiveness in establishing and + + maintaining identical software environments and builds. + + + This study contributes to academic knowledge and offers + practical insights that + + could influence future software development protocols and + standards. +keywords: + - reproducibility + - software engineering +license: CC-BY-4.0 +references: + - title: Reproducibility in Software Engineering + authors: + - family-names: Dellaiera + given-names: Pol + year: 2024 + type: thesis + thesis-type: Master's thesis + url: >- + https://not-a-number.io/master-thesis.pdf + institution: + name: University Of Mons +preferred-citation: + type: article + authors: + - family-names: "Dellaiera" + given-names: "Pol" + orcid: "https://orcid.org/0009-0008-7972-7160" + doi: "10.0000/00000" + month: 6 + start: 1 # First page number + end: 90 # Last page number + title: "Reproducibility in Software Engineering" + year: 2024 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4a859b6 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +CC-BY-4.0 AND HL3 diff --git a/README.md b/README.md new file mode 100644 index 0000000..28c95cb --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +[![Download latest](https://img.shields.io/badge/Download-Latest-brightgreen?style=flat-square)](https://github.com/drupol/master-thesis/releases/latest) +[![CC BY License badge](https://img.shields.io/badge/License-CC--BY--4.0-brightgreen?style=flat-square)](https://creativecommons.org/licenses/by/4.0/) +[![HL3 License badge](https://img.shields.io/badge/License-HL3--full-brightgreen?style=flat-square)](https://firstdonoharm.dev/version/3/0/full.html) + +# UMons Master Thesis - Reproducibility in Software Engineering (RiSE) + +This repository contains the work done during my master thesis at the +[University Of Mons] under the supervision of [Tom +Mens][tom mens university website]. + +## Abstract + +The concept of reproducibility has long been a cornerstone in scientific +research, ensuring that results are robust, repeatable, and can be independently +verified. This concept has been extended to computer science, focusing on the +ability to recreate identical software artefacts. However, the importance of +reproducibility in software engineering is often overlooked, leading to +challenges in the validation, security, and reliability of software products. + +This master's thesis aims to investigate the current state of reproducibility in +software engineering, exploring both the barriers and potential solutions to +making software more reproducible and raising awareness. It identifies key +factors that impede reproducibility such as inconsistent environments, lack of +standardisation, and incomplete documentation. To tackle these issues, I propose +an empirical comparison of tools facilitating software reproducibility. + +To provide a comprehensive assessment of reproducibility in software +engineering, this study adopts a methodology that involves a hands-on evaluation +of four different methods and tools. Through a systematic evaluation of these +tools, this research seeks to determine their effectiveness in establishing and +maintaining identical software environments and builds. + +This study contributes to academic knowledge and offers practical insights that +could influence future software development protocols and standards. + +## Repository Structure + +The repository is structured as follows: + +- `src/thesis`: Contains the [Typst] source code +- `nix`: Contains the [Nix] expressions necessary for the build but also for the + local development environment +- `resources`: Contains some resources (images, source code, ...) + +## Licensing + +This work is licenced under a dual license: the Creative Commons Attribution 4.0 +International ([CC BY 4.0]) and the Hippocratic Licence 3.0 ([HL3]) licences. +You are free to share and adapt the material under the terms of the CC BY 4.0, +provided you give appropriate credit to the original author. You must also use +the material in accordance with the ethical guidelines specified in HL3, +ensuring it is not used to contribute to human rights abuses or other unethical +practices. In case of any conflict between the licences, HL3 will take +precedence. + +## Cite + +``` +@masterthesis{dellaieraMasterThesis2024, + title = {Reproducibility in Software Engineering}, + author = {Dellaiera, Pol}, + year = 2024, + month = {June}, + note = {Available at \url{TODO}}, + school = {University of Mons}, + type = {Master's thesis} +} +``` + +## How To Contribute + +We welcome contributions! If you'd like to contribute to this repository, please +feel free to send a pull request. + +### Setting Up Your Development Environment + +To set up a local development environment with all the necessary tools to build +the document, you have two options: + +1. **Using Nix:** Load the default shell environment by running: `nix develop` + +2. **Using DevContainer:** You can also set up a complete development + environment using [DevContainer]. + +The master thesis is written using [Typst], a modern typesetting system. The +primary language of the document is British English. + +[DevContainer]: https://containers.dev/ +[Nix]: https://nixos.org/ +[Typst]: https://typst.app/ +[University Of Mons]: https://www.umons.ac.be/ +[tom mens university website]: https://informatique.umons.ac.be/perso/Mens.Tom/ +[CC BY 4.0]: https://creativecommons.org/licenses/by/4.0/ +[HL3]: https://firstdonoharm.dev/version/3/0/full.html diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..3078304 --- /dev/null +++ b/flake.lock @@ -0,0 +1,217 @@ +{ + "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "typst-dev", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698166613, + "narHash": "sha256-y4rdN4flxRiROqNi1waMYIZj/Fs7L2OrszFk/1ry9vU=", + "owner": "ipetkov", + "repo": "crane", + "rev": "b7db46f0f1751f7b1d1911f6be7daf568ad5bc65", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + } + }, + "nixpkgs-lib_2": { + "locked": { + "dir": "lib", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1718870667, + "narHash": "sha256-jab3Kpc8O1z3qxwVsCMHL4+18n5Wy/HHKyu1fcsF7gs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9b10b8f00cb5494795e5f51b39210fed4d2b0748", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1706371002, + "narHash": "sha256-dwuorKimqSYgyu8Cw6ncKhyQjUDOyuXoxDTVmAXq88s=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c002c6aa977ad22c60398daaa9be52f2203d0006", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", + "systems": "systems", + "typst-dev": "typst-dev", + "typst-packages": "typst-packages" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "typst-dev": { + "inputs": { + "crane": "crane", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_2", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1718626524, + "narHash": "sha256-DgGQcuRfsduyOxp6Q+IevT8HiK008scjCOwmeYigbzI=", + "owner": "typst", + "repo": "typst", + "rev": "a2c980715958bc3fd71e1f0a5975fea3f5b63b85", + "type": "github" + }, + "original": { + "owner": "typst", + "repo": "typst", + "type": "github" + } + }, + "typst-packages": { + "flake": false, + "locked": { + "lastModified": 1718958452, + "narHash": "sha256-S+HIGat3lkMfzxemi4qg8pEavwEmRFOGS7J6HEDOwR0=", + "owner": "typst", + "repo": "packages", + "rev": "470cdbf2b0b8fc2a96b91f4e5e8ccbbf53f22dd9", + "type": "github" + }, + "original": { + "owner": "typst", + "repo": "packages", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..68ca930 --- /dev/null +++ b/flake.nix @@ -0,0 +1,178 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + systems.url = "github:nix-systems/default"; + typst-dev.url = "github:typst/typst"; + typst-packages = { + flake = false; + url = "github:typst/packages"; + }; + }; + + outputs = + inputs@{ ... }: + inputs.flake-parts.lib.mkFlake { inherit inputs; } { + systems = import inputs.systems; + + imports = [ + ./nix/imports/pkgs.nix + ./nix/imports/overlay.nix + ./nix/imports/formatter.nix + ]; + + perSystem = + { pkgs, lib, ... }: + let + # Change here to typst-dev if needed + typst = pkgs.nixpkgs-unstable.typst; + + fontsConf = pkgs.symlinkJoin { + name = "typst-fonts"; + paths = with pkgs; [ + inriafonts + fg-virgil + liberation_ttf + inconsolata-nerdfont + newcomputermodern + ]; + }; + + typst-wrapper = pkgs.typst-wrapper typst pkgs.typst-packages fontsConf; + typstyle = pkgs.typstyle; + + mkBuildDocumentDrv = + documentName: + pkgs.stdenvNoCC.mkDerivation { + name = "build-" + documentName; + + src = pkgs.lib.cleanSource ./.; + + buildInputs = [ typst-wrapper ]; + + buildPhase = '' + runHook preBuild + + ${lib.getExe typst-wrapper} \ + compile \ + --root ./. \ + --input rev="${inputs.self.rev or ""}" \ + --input shortRev="${inputs.self.shortRev or ""}" \ + --input builddate="$(date -u -d @${toString (inputs.self.lastModified or "")})" \ + --font-path ${fontsConf} \ + ./src/${documentName}/main.typ \ + ${documentName}.pdf + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -m640 -D ${documentName}.* -t $out + + runHook postInstall + ''; + }; + + mkBuildDocumentScript = + documentName: + pkgs.writeShellApplication { + name = "build-${documentName}"; + + runtimeInputs = [ typst-wrapper ]; + + text = '' + ${lib.getExe typst-wrapper} \ + compile \ + --root ./. \ + --input rev="${inputs.self.rev or ""}" \ + --input shortRev="${inputs.self.shortRev or ""}" \ + --input builddate="$(date -u -d @${toString (inputs.self.lastModified or "")})" \ + --font-path ${fontsConf} \ + ./src/${documentName}/main.typ \ + ${documentName}.pdf + ''; + }; + + mkWatchDocumentScript = + documentName: + pkgs.writeShellApplication { + name = "watch-${documentName}"; + + runtimeInputs = [ typst-wrapper ]; + + text = '' + ${lib.getExe typst-wrapper} \ + watch \ + --root ./. \ + --input rev="${inputs.self.rev or ""}" \ + --input shortRev="${inputs.self.shortRev or ""}" \ + --input builddate="$(date -u -d @${toString (inputs.self.lastModified or "")})" \ + --font-path ${fontsConf} \ + ./src/${documentName}/main.typ \ + ${documentName}.pdf + ''; + }; + + documentDrvs = lib.genAttrs (lib.attrNames ( + lib.filterAttrs (k: v: (v == "directory")) (builtins.readDir ./src) + )) (d: mkBuildDocumentDrv d); + + signPDF = pkgs.writeShellApplication { + name = "sign-pdf"; + + runtimeInputs = [ pkgs.open-pdf-sign ]; + + text = '' + open-pdf-sign \ + --certificate cert.pem \ + --key private-key.pem \ + --no-hint \ + --timestamp \ + --tsa http://timestamp.digicert.com \ + --baseline-lt \ + --add-page \ + --page \ + -1 \ + --width 19 \ + "$@" + ''; + }; + + scriptDrvs = { "sign-pdf" = signPDF; } // lib.foldl' ( + a: i: + a + // { + "build-${i}" = mkBuildDocumentScript i; + "watch-${i}" = mkWatchDocumentScript i; + } + ) { } (lib.attrNames documentDrvs); + in + { + packages = documentDrvs; + + devShells.default = pkgs.mkShellNoCC { + packages = (lib.attrValues scriptDrvs) ++ [ + typst + typst-wrapper + pkgs.gnuplot + pkgs.pympress + ]; + + shellHook = '' + echo "Typst version: ${typst.version}" + echo "Typst bin: ${lib.getExe typst}" + echo "Typst wrapper bin: ${lib.getExe typst-wrapper}" + echo "Typst packages directory: ${pkgs.typst-packages}" + echo "Typst fonts directory: ${fontsConf}" + ''; + + env = { + TYPST_FONT_PATHS = fontsConf; + }; + }; + }; + }; +} diff --git a/lib/scenario-1/Makefile b/lib/scenario-1/Makefile new file mode 100644 index 0000000..3cafd3f --- /dev/null +++ b/lib/scenario-1/Makefile @@ -0,0 +1,11 @@ +clean: + rm -rf datetime + +build: clean + gcc src/datetime.c -o datetime + +check: + nix hash path datetime + +run: + ./datetime diff --git a/lib/scenario-1/src/datetime.c b/lib/scenario-1/src/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-1/src/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-2/Dockerfile b/lib/scenario-2/Dockerfile new file mode 100644 index 0000000..96d204b --- /dev/null +++ b/lib/scenario-2/Dockerfile @@ -0,0 +1,10 @@ +FROM alpine@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b as build-env +RUN apk add --no-cache build-base +WORKDIR /app +COPY . . +RUN gcc datetime.c -o datetime + +FROM alpine@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b +COPY --from=build-env /app/datetime /app/datetime +WORKDIR /app +CMD ["/app/datetime"] diff --git a/lib/scenario-2/Makefile b/lib/scenario-2/Makefile new file mode 100644 index 0000000..3b7db5d --- /dev/null +++ b/lib/scenario-2/Makefile @@ -0,0 +1,17 @@ +clean: + +build: clean + docker buildx build --no-cache -t datetime:latest --output type=oci,dest=image.tar . + docker load -i image.tar + +check: + docker create --quiet --name datetime datetime:latest &>/dev/null + docker cp --quiet datetime:/app/datetime datetime + docker container rm -f datetime &>/dev/null + + nix hash path datetime + rm -rf datetime + nix hash path image.tar + +run: + docker run datetime:latest diff --git a/lib/scenario-2/datetime.c b/lib/scenario-2/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-2/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-3/Makefile b/lib/scenario-3/Makefile new file mode 100644 index 0000000..ae0caad --- /dev/null +++ b/lib/scenario-3/Makefile @@ -0,0 +1,10 @@ +clean: + +build: clean + guix time-machine --commit=10f3dd0e9e06d71d1bc1615c6a60cc3aa1ad1ff4 -- build -f guix.scm + +check: + nix hash path $$(guix time-machine --commit=10f3dd0e9e06d71d1bc1615c6a60cc3aa1ad1ff4 -- build -f guix.scm) + +run: + $$(guix time-machine --commit=10f3dd0e9e06d71d1bc1615c6a60cc3aa1ad1ff4 -- build -f guix.scm)/bin/datetime diff --git a/lib/scenario-3/guix.scm b/lib/scenario-3/guix.scm new file mode 100644 index 0000000..5fd857b --- /dev/null +++ b/lib/scenario-3/guix.scm @@ -0,0 +1,27 @@ +(use-modules (guix) + (guix build-system gnu)) + +(define-public datetime + (package + (name "datetime") + (version "1.0") + (source (local-file "./src" #:recursive? #t)) + (build-system gnu-build-system) + (arguments + '( + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ (invoke "gcc" "datetime.c" "-o" "datetime"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "datetime" (string-append out "/bin")))))))) + (synopsis "DateTime Program") + (description "This package contains a simple program that shows the current date and time.") + (home-page #f) + (license #f))) + +datetime diff --git a/lib/scenario-3/src/datetime.c b/lib/scenario-3/src/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-3/src/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-4/Makefile b/lib/scenario-4/Makefile new file mode 100644 index 0000000..2db6577 --- /dev/null +++ b/lib/scenario-4/Makefile @@ -0,0 +1,14 @@ +clean: + rm -rf output result + nix-collect-garbage -d + +build: clean + nix-build + +check: + $$(nix build --quiet --no-link --print-out-paths nixpkgs#coreutils)/bin/cp -r --dereference "$$(readlink -f result)" "output" + nix hash path output + chmod 777 output + +run: + ./result/datetime diff --git a/lib/scenario-4/default.nix b/lib/scenario-4/default.nix new file mode 100644 index 0000000..cbd2fb1 --- /dev/null +++ b/lib/scenario-4/default.nix @@ -0,0 +1,17 @@ +{ + pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/7872526e9c5332274ea5932a0c3270d6e4724f3b.tar.gz") { } +}: + +pkgs.stdenv.mkDerivation { + name = "datetime"; + + src = ./src; + + buildPhase = '' + $CC datetime.c -o datetime + ''; + + installPhase = '' + install -D datetime $out/bin/datetime + ''; +} diff --git a/lib/scenario-4/src/datetime.c b/lib/scenario-4/src/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-4/src/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-5/Makefile b/lib/scenario-5/Makefile new file mode 100644 index 0000000..56e2277 --- /dev/null +++ b/lib/scenario-5/Makefile @@ -0,0 +1,14 @@ +clean: + rm -rf output result + nix-collect-garbage -d + +build: clean + nix build + +check: + $$(nix build --quiet --no-link --print-out-paths nixpkgs#coreutils)/bin/cp -r --dereference "$$(readlink -f result)" "output" + nix hash path output + chmod 777 output + +run: + ./result/datetime diff --git a/lib/scenario-5/flake.lock b/lib/scenario-5/flake.lock new file mode 100644 index 0000000..02ae899 --- /dev/null +++ b/lib/scenario-5/flake.lock @@ -0,0 +1,79 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1710889954, + "narHash": "sha256-Pr6F5Pmd7JnNEMHHmspZ0qVqIBVxyZ13ik1pJtm2QXk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7872526e9c5332274ea5932a0c3270d6e4724f3b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lib/scenario-5/flake.nix b/lib/scenario-5/flake.nix new file mode 100644 index 0000000..f828897 --- /dev/null +++ b/lib/scenario-5/flake.nix @@ -0,0 +1,27 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + }; + + outputs = inputs @ { flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + + perSystem = { pkgs, ... }: { + packages.default = pkgs.stdenv.mkDerivation { + name = "datetime"; + + src = ./src; + + buildPhase = '' + $CC datetime.c -o datetime + ''; + + installPhase = '' + install -D datetime $out/bin/datetime + ''; + }; + }; + + }; +} diff --git a/lib/scenario-5/src/datetime.c b/lib/scenario-5/src/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-5/src/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-6/Makefile b/lib/scenario-6/Makefile new file mode 100644 index 0000000..933ac3b --- /dev/null +++ b/lib/scenario-6/Makefile @@ -0,0 +1,15 @@ +clean: + rm -rf output result + nix-collect-garbage -d + +build: clean + nix build + gunzip -c result | docker load + +check: + $$(nix build --quiet --no-link --print-out-paths nixpkgs#coreutils)/bin/cp -r --dereference "$$(readlink -f result)" "output" + nix hash path output + chmod 777 output + +run: + docker run datetime:latest diff --git a/lib/scenario-6/flake.lock b/lib/scenario-6/flake.lock new file mode 100644 index 0000000..02ae899 --- /dev/null +++ b/lib/scenario-6/flake.lock @@ -0,0 +1,79 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1710889954, + "narHash": "sha256-Pr6F5Pmd7JnNEMHHmspZ0qVqIBVxyZ13ik1pJtm2QXk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7872526e9c5332274ea5932a0c3270d6e4724f3b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lib/scenario-6/flake.nix b/lib/scenario-6/flake.nix new file mode 100644 index 0000000..64e99a0 --- /dev/null +++ b/lib/scenario-6/flake.nix @@ -0,0 +1,35 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + }; + + outputs = inputs @ { flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + + perSystem = { pkgs, ... }: { + packages.default = + let + datetime = pkgs.stdenv.mkDerivation { + name = "datetime"; + + src = ./src; + + buildPhase = '' + $CC datetime.c -o datetime + ''; + + installPhase = '' + install -D datetime $out/bin/datetime + ''; + }; + in + pkgs.dockerTools.buildLayeredImage { + name = "datetime"; + tag = "latest"; + contents = [ datetime ]; + config.Cmd = [ "/datetime" ]; + }; + }; + }; +} diff --git a/lib/scenario-6/src/datetime.c b/lib/scenario-6/src/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/lib/scenario-6/src/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/lib/scenario-7/Makefile b/lib/scenario-7/Makefile new file mode 100644 index 0000000..f7f0439 --- /dev/null +++ b/lib/scenario-7/Makefile @@ -0,0 +1,11 @@ +clean: + rm -rf *.pdf + +build: clean + docker run --entrypoint /bin/typst --mount type=bind,source="$$(pwd)"/src,target=/src ghcr.io/typst/typst:latest compile /src/hello-world.typst + +check: + nix hash path src/hello-world.pdf + +run: + nix hash path src/hello-world.pdf diff --git a/lib/scenario-7/src/hello-world.typst b/lib/scenario-7/src/hello-world.typst new file mode 100644 index 0000000..a93f210 --- /dev/null +++ b/lib/scenario-7/src/hello-world.typst @@ -0,0 +1,24 @@ +#set page(width: 10cm, height: auto) +#set heading(numbering: "1.") + += Fibonacci sequence +The Fibonacci sequence is defined through the +recurrence relation $F_n = F_(n-1) + F_(n-2)$. +It can also be expressed in _closed form:_ + +$ F_n = round(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2 $ + +#let count = 8 +#let nums = range(1, count + 1) +#let fib(n) = ( + if n <= 2 { 1 } + else { fib(n - 1) + fib(n - 2) } +) + +The first #count numbers of the sequence are: + +#align(center, table( + columns: count, + ..nums.map(n => $F_#n$), + ..nums.map(n => str(fib(n))), +)) diff --git a/lib/scenario-8/Makefile b/lib/scenario-8/Makefile new file mode 100644 index 0000000..1fc10d0 --- /dev/null +++ b/lib/scenario-8/Makefile @@ -0,0 +1,14 @@ +clean: + rm -rf output result + nix-collect-garbage -d + +build: clean + nix build + +check: + $$(nix build --quiet --no-link --print-out-paths nixpkgs#coreutils)/bin/cp -r --dereference "$$(readlink -f result)" "output" + nix hash path output + chmod 777 output + +run: + nix hash path output diff --git a/lib/scenario-8/flake.lock b/lib/scenario-8/flake.lock new file mode 100644 index 0000000..9f751b9 --- /dev/null +++ b/lib/scenario-8/flake.lock @@ -0,0 +1,58 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1710889954, + "narHash": "sha256-Pr6F5Pmd7JnNEMHHmspZ0qVqIBVxyZ13ik1pJtm2QXk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7872526e9c5332274ea5932a0c3270d6e4724f3b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1715709767, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lib/scenario-8/flake.nix b/lib/scenario-8/flake.nix new file mode 100644 index 0000000..a850d11 --- /dev/null +++ b/lib/scenario-8/flake.nix @@ -0,0 +1,28 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + }; + + outputs = inputs @ { flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + + perSystem = { pkgs, ... }: { + packages.default = pkgs.stdenv.mkDerivation { + name = "typst-hello-world"; + + src = ./src; + + nativeBuildInputs = [ pkgs.typst ]; + + buildPhase = '' + typst compile hello-world.typst hello-world.pdf + ''; + + installPhase = '' + install -D hello-world.pdf $out/hello-world.pdf + ''; + }; + }; + }; +} diff --git a/lib/scenario-8/src/hello-world.typst b/lib/scenario-8/src/hello-world.typst new file mode 100644 index 0000000..a93f210 --- /dev/null +++ b/lib/scenario-8/src/hello-world.typst @@ -0,0 +1,24 @@ +#set page(width: 10cm, height: auto) +#set heading(numbering: "1.") + += Fibonacci sequence +The Fibonacci sequence is defined through the +recurrence relation $F_n = F_(n-1) + F_(n-2)$. +It can also be expressed in _closed form:_ + +$ F_n = round(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2 $ + +#let count = 8 +#let nums = range(1, count + 1) +#let fib(n) = ( + if n <= 2 { 1 } + else { fib(n - 1) + fib(n - 2) } +) + +The first #count numbers of the sequence are: + +#align(center, table( + columns: count, + ..nums.map(n => $F_#n$), + ..nums.map(n => str(fib(n))), +)) diff --git a/lib/scenario-9/Makefile b/lib/scenario-9/Makefile new file mode 100644 index 0000000..1fc10d0 --- /dev/null +++ b/lib/scenario-9/Makefile @@ -0,0 +1,14 @@ +clean: + rm -rf output result + nix-collect-garbage -d + +build: clean + nix build + +check: + $$(nix build --quiet --no-link --print-out-paths nixpkgs#coreutils)/bin/cp -r --dereference "$$(readlink -f result)" "output" + nix hash path output + chmod 777 output + +run: + nix hash path output diff --git a/lib/scenario-9/flake.lock b/lib/scenario-9/flake.lock new file mode 100644 index 0000000..9f751b9 --- /dev/null +++ b/lib/scenario-9/flake.lock @@ -0,0 +1,58 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1710889954, + "narHash": "sha256-Pr6F5Pmd7JnNEMHHmspZ0qVqIBVxyZ13ik1pJtm2QXk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7872526e9c5332274ea5932a0c3270d6e4724f3b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1715709767, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lib/scenario-9/flake.nix b/lib/scenario-9/flake.nix new file mode 100644 index 0000000..a850d11 --- /dev/null +++ b/lib/scenario-9/flake.nix @@ -0,0 +1,28 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + }; + + outputs = inputs @ { flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + + perSystem = { pkgs, ... }: { + packages.default = pkgs.stdenv.mkDerivation { + name = "typst-hello-world"; + + src = ./src; + + nativeBuildInputs = [ pkgs.typst ]; + + buildPhase = '' + typst compile hello-world.typst hello-world.pdf + ''; + + installPhase = '' + install -D hello-world.pdf $out/hello-world.pdf + ''; + }; + }; + }; +} diff --git a/lib/scenario-9/src/hello-world.typst b/lib/scenario-9/src/hello-world.typst new file mode 100644 index 0000000..1e1c214 --- /dev/null +++ b/lib/scenario-9/src/hello-world.typst @@ -0,0 +1,25 @@ +#set document(date: none) +#set page(width: 10cm, height: auto) +#set heading(numbering: "1.") + += Fibonacci sequence +The Fibonacci sequence is defined through the +recurrence relation $F_n = F_(n-1) + F_(n-2)$. +It can also be expressed in _closed form:_ + +$ F_n = round(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2 $ + +#let count = 8 +#let nums = range(1, count + 1) +#let fib(n) = ( + if n <= 2 { 1 } + else { fib(n - 1) + fib(n - 2) } +) + +The first #count numbers of the sequence are: + +#align(center, table( + columns: count, + ..nums.map(n => $F_#n$), + ..nums.map(n => str(fib(n))), +)) diff --git a/nix/imports/formatter.nix b/nix/imports/formatter.nix new file mode 100644 index 0000000..d2553a2 --- /dev/null +++ b/nix/imports/formatter.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + perSystem = + { pkgs, ... }: + { + formatter = pkgs.nixfmt-rfc-style; + }; +} diff --git a/nix/imports/overlay.nix b/nix/imports/overlay.nix new file mode 100644 index 0000000..23733a6 --- /dev/null +++ b/nix/imports/overlay.nix @@ -0,0 +1,9 @@ +{ inputs, ... }: +{ + flake = { + overlays.default = final: prev: { + typst-packages = prev.callPackage ../pkgs/typst-packages.nix { src = inputs.typst-packages; }; + typst-wrapper = prev.callPackage ../pkgs/typst-wrapper.nix { }; + }; + }; +} diff --git a/nix/imports/pkgs.nix b/nix/imports/pkgs.nix new file mode 100644 index 0000000..189087d --- /dev/null +++ b/nix/imports/pkgs.nix @@ -0,0 +1,17 @@ +{ inputs, self, ... }: +{ + perSystem = + { system, ... }: + { + _module.args.pkgs = import self.inputs.nixpkgs { + inherit system; + overlays = [ + inputs.typst-dev.overlays.default + inputs.self.overlays.default + (final: prev: { nixpkgs-unstable = import inputs.nixpkgs-unstable { inherit system; }; }) + ]; + config = { + }; + }; + }; +} diff --git a/nix/imports/shell.nix b/nix/imports/shell.nix new file mode 100644 index 0000000..f9059e7 --- /dev/null +++ b/nix/imports/shell.nix @@ -0,0 +1,17 @@ +{ inputs, self, ... }: +{ + perSystem = + { system, ... }: + { + _module.args.pkgs = import self.inputs.nixpkgs { + inherit system; + overlays = [ + inputs.typst-dev.overlays.default + inputs.self.overlays.default + ]; + config = { + allowUnfree = true; + }; + }; + }; +} diff --git a/nix/pkgs/typst-packages.nix b/nix/pkgs/typst-packages.nix new file mode 100644 index 0000000..ab06a39 --- /dev/null +++ b/nix/pkgs/typst-packages.nix @@ -0,0 +1,18 @@ +{ stdenvNoCC, src }: + +stdenvNoCC.mkDerivation { + name = "typst-packages"; + + inherit src; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/typst/packages + cp -r packages/preview $out/typst/packages/ + + runHook postInstall + ''; +} diff --git a/nix/pkgs/typst-wrapper.nix b/nix/pkgs/typst-wrapper.nix new file mode 100644 index 0000000..3570825 --- /dev/null +++ b/nix/pkgs/typst-wrapper.nix @@ -0,0 +1,15 @@ +{ lib, writeShellApplication, ... }: + +typstDrv: typst-packages: typstFontPaths: +writeShellApplication { + name = "typst-wrapper"; + + runtimeInputs = [ + typstDrv + typst-packages + ]; + + text = '' + TYPST_FONT_PATHS=${typstFontPaths} XDG_CACHE_HOME=${typst-packages} ${lib.getExe typstDrv} "$@" + ''; +} diff --git a/public-key.pem b/public-key.pem new file mode 100644 index 0000000..5ab74d4 --- /dev/null +++ b/public-key.pem @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEd4ocLaIaKaJ++bphe0y6P3sYkSAY +THcRpUjAdeUHHfXeFAI8hplUBwnbr7PH9BBU4HnWMeLuwDmRe3t2Ncxhrg== +-----END PUBLIC KEY----- diff --git a/resources/graphviz/my-app-not-ok.dot b/resources/graphviz/my-app-not-ok.dot new file mode 100644 index 0000000..b1bb9df --- /dev/null +++ b/resources/graphviz/my-app-not-ok.dot @@ -0,0 +1,62 @@ +digraph G { + +rankdir="BT" +node [ style="filled", margin=.05]; +edge [ dir="back" ]; +ratio=.5 + +"pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" [label = "python3-3.10.12", fillcolor = "orange", color = "orange"]; +"6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" [label = "bzip2-1.0.8"]; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" [label = "ncurses-6.4"]; +"fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" [label = "sqlite-3.43.1", fillcolor = "orange", color = "orange"]; +"g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" [label = "readline-8.2p1"]; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" [label = "zlib-1.3", fillcolor = "red", color = "red"]; +"jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" [label = "gdbm-1.23"]; +"l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" [label = "openssl-3.0.10"]; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" [label = "glibc-2.37-8"]; +"8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" [label = "libidn2-2.3.4"]; +"br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1" [label = "libunistring-1.1"]; +"ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" [label = "libxcrypt-4.4.36"]; +"q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" [label = "expat-2.5.0"]; +"rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc" [label = "xgcc-12.3.0-libgcc"]; +"xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" [label = "xz-5.4.4"]; +"xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" [label = "bash-5.2-p15"]; +"xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" [label = "gcc-12.3.0-lib"]; +"xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc" [label = "gcc-12.3.0-libgcc"]; +"35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" [label = "libffi-3.4.4"]; + +"35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" [ color = "orange" ]; +"g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" [ color = "orange" ]; +"jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; + +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" []; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" -> "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" [ color = "orange" ]; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" []; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" -> "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" []; +"8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" -> "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" []; +"rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc" -> "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" []; +"br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1" -> "8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" []; +"xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc" -> "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" []; +} diff --git a/resources/graphviz/python.dot b/resources/graphviz/python.dot new file mode 100644 index 0000000..4c85916 --- /dev/null +++ b/resources/graphviz/python.dot @@ -0,0 +1,66 @@ +digraph G { + +rankdir="BT" +node [ style="filled", margin=.05]; +edge [ dir="back" ]; +ratio=.5 + +"pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" [label = "python3-3.10.12"]; +"6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" [label = "bzip2-1.0.8"]; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" [label = "ncurses-6.4"]; +"dk5vk3c9zknbjzzxmiglzv46qgv32gb0-tzdata-2023c" [label = "tzdata-2023c"]; +"fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" [label = "sqlite-3.43.1"]; +"g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" [label = "readline-8.2p1"]; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" [label = "zlib-1.3"]; +"jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" [label = "gdbm-1.23"]; +"l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" [label = "openssl-3.0.10"]; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" [label = "glibc-2.37-8"]; +"8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" [label = "libidn2-2.3.4"]; +"br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1" [label = "libunistring-1.1"]; +"ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" [label = "libxcrypt-4.4.36"]; +"pfqk28f0yaq18ha10ri9d3a8z5kv8s6l-mailcap-2.1.53" [label = "mailcap-2.1.53"]; +"q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" [label = "expat-2.5.0"]; +"rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc" [label = "xgcc-12.3.0-libgcc"]; +"xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" [label = "xz-5.4.4"]; +"xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" [label = "bash-5.2-p15"]; +"xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" [label = "gcc-12.3.0-lib"]; +"xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc" [label = "gcc-12.3.0-libgcc"]; +"35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" [label = "libffi-3.4.4"]; + +"35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"dk5vk3c9zknbjzzxmiglzv46qgv32gb0-tzdata-2023c" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"pfqk28f0yaq18ha10ri9d3a8z5kv8s6l-mailcap-2.1.53" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; +"xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" -> "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12" []; + +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" []; +"ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" -> "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1" []; +"d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4" -> "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10" []; +"8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" -> "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" []; +"rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc" -> "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" []; +"br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1" -> "8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15" []; +"ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8" -> "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" []; +"xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc" -> "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib" []; +} diff --git a/resources/graphviz/scientific-method-with-reproducibility.dot b/resources/graphviz/scientific-method-with-reproducibility.dot new file mode 100644 index 0000000..d46b245 --- /dev/null +++ b/resources/graphviz/scientific-method-with-reproducibility.dot @@ -0,0 +1,20 @@ +digraph G { + layout="twopi"; + root = "step6"; + node [shape="circle" fixedsize=true width=".8"] + graph [pad=".25" nodesep="1" ranksep="1.3"] + ordering="in" + edge [dir="back"]; + + step1 -> step0 -> step5 -> step4 -> step3 -> step2 -> step1; + + step0 -> step6 [style=invis]; + step1 -> step6 [style=invis]; + step2 -> step6 [style=invis]; + step3 -> step6 [style=invis]; + step5 -> step6 [dir=forward penwidth=3]; + step4 -> step6 [penwidth=3]; + step5 -> step6 [style=invis]; + + step6 [penwidth=3]; +} diff --git a/resources/graphviz/scientific-method.dot b/resources/graphviz/scientific-method.dot new file mode 100644 index 0000000..70bc245 --- /dev/null +++ b/resources/graphviz/scientific-method.dot @@ -0,0 +1,18 @@ +digraph G { + layout="twopi"; + root = "step6"; + node [shape="circle" fixedsize=true width=".8"] + graph [pad=".25" nodesep="1" ranksep="1.3"] + ordering="in" + edge [dir="back"]; + + step1 -> step0 -> step5 -> step4 -> step3 -> step2 -> step1; + + step0 -> step6 [style=invis]; + step1 -> step6 [style=invis]; + step2 -> step6 [style=invis]; + step3 -> step6 [style=invis]; + step4 -> step6 [style=invis]; + step5 -> step6 [style=invis]; + step6 [style="invis"]; +} diff --git a/resources/images/ORCIDiD_iconvector.svg b/resources/images/ORCIDiD_iconvector.svg new file mode 100644 index 0000000..d2309de --- /dev/null +++ b/resources/images/ORCIDiD_iconvector.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/resources/images/PXL_20230719_092843523-01.jpeg b/resources/images/PXL_20230719_092843523-01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f3baae6f684e2d4a4b17c5a0c635723bcf08c73c GIT binary patch literal 806040 zcmdSAS;#$Gn;-Ok-`8^z(%mK~riH_oNZOSBRqfifYdEBv)VOP|+BNJNL}Jauu4&g? zb)$%oTz1-ks8O3vgAfqW3l+Rj@Jh%b5;9M^l!zw@0)#B1xN-g@?` zRjbxi&w8HU^IPBi7vKDyk6)GrN%;7|4?aGA0RBF{`GcSNSNXllKRzVs&wc#D$H&JX z`S{~M_~FOT1L=3b`O855MR5I>!TGB{_?gc~zCHiZAN=gM*WUxb|I`=xZvgq%fAFJk z(|-u$3wZXAf$P5uP87(00$l$iaQ;I-{4URDS=C?quFSs;xc7b0 zWFKa=XU$hw^dW+@&u9MdYIo5vWm)MbPWl2=VoW`U*w9My_9@=m+%iul)1h zRr9|F_4(Jn$o~V7fBct!TFpQEMgFUwW&ififBX!%fWpup{q}cN{+~hqpZOw#)_wdk zkUzWUPXhT@zR14@x{s5C7gz>+plW{`23q>)R>u z``;_)iwvsv@uTm_KlA(FwLSi9wx4^FyoZp)*m&?~E`89U^2c|&?`Za=l z{QZ}|1zP-B$iM!juz%;9Z@&5b{dxQxIR7yHZ~pAZ$NvOs@N2*F-SzYSXJ`FC=Ji)` zl)S!5qBa|&udtt7$+rC}hc7=Nt{ zPky;};ARTs&)c8re|Z1j{?+f&|9jBR&-pd@yC0?!%l<{vG6YHGztvhlbUyEVKGAmbXx*8w{2=`5=l@60Bfkjx zi~9J8l4ESbl|Nwr+yC^p{?Fel zzn}9TApemxn-b8FUjX<1LNbgqkUuq2xXr_-{QE%u6Y=X?`9JuSM^HhK{x?76;yd~8 ze4FPx`G5O1k7Kc5fIrLpDk&q-i$DBzApeu`_tJ~+$!)WMI(&P4_UIqYI@bo*KLgHR z`OhX4fagCx$K&(*@$u7s{%P8GcRv6B zG_C*Lj}P*H2b21@f0`EmOCKNq{$Kj|_(%TBpQinpf8*ohkN*oFAOGHeGDKtaZAqWs z!w++?eEl!~=Euh$3&7&?w}3|cr>6XhetZ81f0O|q#eeh7H~;IO1s}n``0?>~fBTzn z{;$9O%{PA+jMI<)tB;TWxclZ0eh`)OJbVqq-Sm?v?c?kxN#DYIG=Q%Vfj|EI{`KAt zZ8k?=?QPRdU+=&9<8QNl4dl;c_{U#;n`M6e=8x&m=fCnb^DDL=v#)MH0Y&^qogm2d z$G`PUUw!rG$29-i;)E|HfnUG*<1a7Yw(Td|^(XyUz!!?5U<8Fx^fy3`-l=pa7bM_8Xf~U-lum&!6eiS6 zOjR8}-}<|WL{rP$t!wAo%@s$9gPiTcBWRx6H#lOl?Q-u~6@%Z;iM_pbhvDxjLS}t) zyL5v{F?-=EJLOVFL(%)08>xFmpJdoP>7!wvPaPEkDylQd(A>=A9j++w)mJ|eW z<6U4wC1+2#w&`VDVopVgm)lc1<{G&lUTrTY;gfU zXGZ?^MtUQ!1?F-YuaV$8=brtM+F`H8%)49e0q*S_W!CLP)@ORgv%PbI6`mu6D*5$5 zOZ@`DLZ^014n0%(CNVqoke=hLw`ZZBji0m*au1eNf}`1I6e8AXpVXr(cKgB6NYW*1aNu|9uiT>iEchId?kH)tH%;#ywF8Cjy07{W0Z z?<&2{VMxA|#D_?d8Ze|`EL%DssdJ2ofTE>Czws^O?81L8?m!Drm|2^FTiCI>?;u2X zpVy{Mp{}*}_Pz0Txyu1@&+BA<34&MH`ebl%CAaSe?;5Q!h!;X6*zJK7xi*$9UOR-r z++P+`3`Swrc&kf(TBJ%^T;G?DSxg-r7ePS}c1E9OufY^CT)`wF*`l08|NSa7RZb8& zGCVV(<@K<)~ZbyuZ?pWSVIv+vZie^bGMIZ&p1bt6Pn@@RB20X z`T4kd;V!)A*tXsILLZfFf4Dfq)TBhQIynA-x)qQI@ocZX=={0lQ)n@4pPhe4Z zz#Is7!^N|1#7iS&ji$|)Eaao{3PLHF?P|^!9i@E#{j7{4E2hWAAyV_&(MA%*gf&_y zOHS1wiP+WW5*SW~(sN`%XbFjkim)`cLBJo>Bhqr>*x7DwrBZUNjJ&a-Swd=B)eYi` z{LPJoEtM1Mp;R?C+$g&$#tg$OhsuZKX64LFL>rCEAcHg#p`ssik*oGuqd`8;xWX5Y z+dU#te=`N*jbolLQp4&(9hj~WjMMfJS4LBsudz2>(<$Cb6sG>**{=)Lq*iV5&%o6V zV?OIf_QqXZwacS>`Hvz`%@toJZh42=TUGhBer0!zejqu2OI?D-cXCZ7UO_CbG4@`E z@JuQEIn}7=TPRav)e>hw!B+()*P9nS0(xD2xo6V$G3ZvB2sziQLI%gU4;F4D-c_ge zcPl|uKg4h8!#}fxd#v?!ro>h&pyKY#2Lnkhz-SK!->$BxQPqu*xagYCB5irCyEukeUM&S8wF6-(d``Et+NtFqSY*RHbdiUnZ z0s|A-(;q292uMw0*q*gdh1FX7D!z`8M+4d)1@+2~TsyZXzVVJ~yvIjbE{(sa3iWc{ z>y0lvvr5pbnJUsOjw}{gqf}j}RP|WWrPx&$QG4117RI;tai`SWnsp^fltVAw)TG>= zkM5`7B+onx4Juz)`klY4DOG!0LdtxBtauz1m^E*C#>0zao?2Q_&t(a~hmPM{EqpWg zVx5||^`PygbA*YNTMEsplk|p>mg88a>v0K|)5Pykc=35p>czZN?>rH1uoo-Tk`ist z$+xu9PLtd9>#(1VR@ZWsdJ9^vTBIpRq!sWuB4f}#X0RyMiTHLBX(p%EdI5bS(_Y!J zl)j}6E=S}m6-y2)lEn4a&1oarjD-s}%0(Bhy5x9%A<&m4P2qx#7*Irs+;7w#t0WYA z_&qb4f+&=ZRD655>__a9n3P~aX`OdR+UPVE*k)zUnr+0FF=3(48RJ!s%lFdYS9*3$ zVlTT5b9DcuS_eUehZ-A>#hFUW>@Kw}P5-c&!kLQlk=IPpve>U!#m&R;u9Qn{xV+dgi7tqQvX9;+>NXOJlqn$y zQB)7F3-2m8(BM29u#SQJj0zgmjH?L*F(ew>Is|4h!ImY1-l%C5m)YJ zHefuL26=e7L;7Bli=NcbGQMvY+$?$$QvKOs9v*((vxt?27#g3@ReAAOK2KF$G2_na zZr5ycOk!}TN8QSXWLn$XC~RC)L%2nKX>*a(fQjYKTzpuU>PXq#(S8dZL`vs4ZSiOa zHtiZ*wl2-H!^ZkN@i+;`x*mep<@UuZ?8y`57thB$KP!HT>bE=wRU6-cDR@n8 zn>|>}C2M@>B|PmNx>-0JCa-3$l~Nq>RK8k9UCWxH_;QPo z+zxbNM^-D}YD+9kCZ(8@)I2O8m%tl0n!i^;-mFi@xIGvau08hAI=Rf(PIY6LM_K}t z+T9Tj?-fII_g%_|C)rVY`OG?1ycDtLR89RLhK3-lA=ddg7qk|>PQ~Rp>4d2T33@z& zz$-865;t+`qVX~b{VD{sHM_4?E{Jwh%GNxdFJg-!E>~;G17^MKcLt_km1qwk>52pe z!L#?()Jz{v#iwOkJWvjF9*RRdnBWtzXP{jk!FuvcQggvUYyq|Qjf?eS%6^3=C&Fa8t z_&9ufbgH?Um45Tq(kvI$lDAPEacD2g;A$ow{Sc5~mRh$)oRiJ?d8nLF_OJ%C>${uU z*J}jd22`3VB0z825GvIpk_68)(-^mt$ay79Dky5EbW7M2#ck@e*JIk`VeyLguDH2K z3lwq>G(~!SGS;DxofO;lOEhrCDMwc&q>7mbY3+g%K*WQa|H3b^@ zd1RDLE7MsIBFa<~uN5O&QIT@Ld+%3X(AUPj_>@k)m8-EMOcp%JVC9pV?dN-Qj^+Gr z#W}B)7nVRt>Osuc}^6<6D12gW>wJE6ZdedG|C^%A&QeZhtlA(>)U(ZY7 zT=jgnZrUAA7g5+?B+Dg3b>3hh{w@$NS|rVpwCkNG41)oz$w|l9)LMVt#s~wO0%Y zG%EbWUPN$Q5@UGmXB&%|9^VLLpy~yAE&OR+k98?{3}&F*&s^L*Y=y_f_JMX%sQQ&* z5^XcWoHoX0aF)Nb0y-xs?~08_|%QSmpt<~KVeVoa+()| z0mJXb&sTp$(N)vcWAdFx+ObaXA~=mqbL_mr%6aWg(w13el3MOXG;aegL} zxj@F^T*xzNH`yjBn7pJco88(I!5Nl1)=FkMILNwF8tE~M-4HB5lgoout%oH0riQD3 z7wNj+T-?nyO559=FP}b)iBKqu=B{Ij?WEOtfp2Y#z)=PR&oJ6*trOJFD@1LhZb$Jb zDqP;)dFxAsFVKn5M%%liDq3b$10S)Py&7H~fF(Fm2Y}36b+TG=?jCQi_!YsI5q(}t zq8QG5w+g&s8@9ncsgZT|MzK&UYPgx9Nq>Q5sKb57Xu}d4{0p`(?QQ50(C@f2jD-D?$+3H8XnBLWJm(q*`?u&>4Q;j*CG|BjW4JZU_Vn{7D za*mDYe0E^w#103ajfngBQseGTY0Sqy2^U{}TS<~H=ApBl7`JJ5t&nj``=g9!nVzbG zartzdWrabb6~V-K-kZo@(TTFeVA5PFlm$-)#+)`@&`F1do|=g)NfFJagK`afhC#8S z2JX0GQ(UvD2+QQog)=)Mc?%gwP~GKW5W)WF5}UZhA-}k^4*cmAER40&QWd+dFy0!r zkY1W?$h}&t2+>&by5pbQZFv&Cb(f_VIjN2x5>;cu8LFGW|K)}OogY_5?;_6DJC3$* zyruQP$C3Hd)#n!~J>gP7Fv&AD)dg^vJRc^>twtUD4t+!wi3H8g@g3Ygp6qLy1$TL5 zFMCgfCcQ1~a;=nM0BcunmLhYoc&>+bm)Ls+KdH@7zJ|4o>a!a%1s#f0H5MnhFsMs5;w>&WVF(UAb2kczk;=S&^ z_n^%>1sbBvnnYSIZExireZk94i_E+MNSAth(E>LSj1;ai#UJE-^EzqAuK+;YH7_~2 zXijmY4%qr)lv+G1C(6D{;ilyS2}=uBRXrm3Z{ZxaJNC9*$Gn-c$YN;vHv1=lrFH@y z&s8a2)RrIyU-A=5z1&WsOLEQ>tpVVl$MJBLUONF@;r)4i^p9qh;FC4Ym!SY80;x5` z&?(A=l_k2g#8ChOC&D3zHbl@Uf^+SAvZJVPYNe|K9C&Y{8ISrIS7}@p& zq%V)Vuy6hnP8aWK+yudmAzC1li=cUmqKt$907?i3j?*Xte^cJz8fw5whV(%=Qj#Ck z-1EV_E7sHa=<;x)+@3Bi`?^7b%pB;0y-}oaPdxLsU7mK7S3r}~ zeK?7T2& zwX#_x5%Y{ugH+K5fFjao;#RJgXIQ}BUc-gx<68v@DmNAQ{0J6LKhuWb3B+!o z9ZLO+AFTW3b=9FEYZ?fN!fHLV;HHuB(?C^3SUoJtN&KaRScdswKZ|(71tR}$cACyI zoQa+&uo|QgJER5n6>Fq>6~a^#t@B3LZtb4Zoth&-OYnP&KXwV3=~_bt!ycs+;`(lt}^#1lM57r1xZsDfS#!EiA>KMu<Bwk}ZiFg#{`iUhVC1*}M!XJPaNV)9cWvr`h(^M{GWTcFowVdy*Fq z#K_d|b$jETyFL>%?D?c;!em>Aae5Sn99+!z>v3>CbkU#fwt$=(D$r1^AuC~58?ect4OZB&lWv!$X{`|+Sk zH;0ZWRtD0}wLZt}u_uhOO7xnhq_x>_9HD|-bcK_zTa?K};KeUZ%$+j$sxhZ7B| zKfczBie1thM@n}0kZeju(h{JKz?1P|L+oYNw-tL`S@f(xSZ+u&o@HI}_8_8%L0bd@ zNxqWh@HkELL+-LoZ)S9PK4-G6=8Isi?34{)*&ox_<2HuMb6iosH7uc*N?U$9L{1X7 ztCGf{E8i(egq7IAMx}nf#rMo!FMA)y$f*`E7#~+ss4;pFNhdC*q9E*mQ~i)zQa7>D zqHb49gAa~9pejXz7)reXB~RB^UiU?lfDiBtyxE(OCG{h|FC!R1==dcB@9YpHSD{7V z&|g%Sddm2@95w)-oLCcYO@>gw;H;v(a}U`@Rb3+HOgv@EmPkKyO711j44$A>Bi{5p zea>)A&E|u_j6ML+MvxK8Zndevot!G>m!n=1E#^f64!h~igW%7@fGvq+g3oR=lrAgg zdN{rH+0IouhQ%zFo$XfL8FMc>Z<_>4%dWU%X#7?mUZLGE=YYy3h_8j`yGn(ojBAw4 z8}*3n(eKy0kJwp2dScrLXLxV8D-o)+u10b27!KH&j%WN(#2&*_G-rD0N;`V$ZPp!5 z9c;dia&_aZTb5&Kb!p}+6LI4jx}2=SnHCM%v*$c^z$DNIG@069vI5J^o!BSU>ucJgl`Mfj{EhU!o%+FQ9bHyS9KRN+xqJpWDPUA8kqM?;3pNbo~gu z^se?CyPLceyfHGf?TZaUU?XP`tjrp~3MF}n-?fX53=rlrG0#rA50Obh4o zNCR4*jwt>0$Qb=;A?&J&jQw_%EEXGT>Q38_HVVWFAtVO1lZnG%_!q1j4Ax!eM=T~t zi?X*Ud!LwekGeyhOZT<5;qg8{xRX-yZ^!urIdgwXA#Iyj}i!X<@yaEbe91J!0y z#bEi6zM}Y(cPpDGj8^Il085|9{#@Wk9Xfh&cs$oml*h4@n0e2KIkf)y-(PrF+qeCKA&$_4ofZkgJ z-w`W`x;k+b_GKDFK_3@~G9HVqk}V}pNuilHg-VRfm}JAnHMy7AWEzQ?1ehrVW!Dta zWQJFlLZ^AB6nxxOV=u)U88draJ(L-=6;fPkreDVAn_qv#^h7B#p5G#7E& zH(IGqWj@iY0iTd>+b_&m0=vMe%VNSN#@O?+S}YmhYM1;sjNoi7lqpv zwaCl2iPEhlX~%PgwOPT#b9*b2_nN46MzZ_DTok1*}+)r_nUWz z>H7LYA}J8cakao4ri*dI98kA9!QQpASC*6tez;w5D9Ow&emFNAdFh;-U4pGm%G=D5 zX39So^>M*udkH&QzuZU1;NR`jAlk0Tdq*jvPW74otpdM4o8GVPUa(-dU-n zIv+nnu5gsv;O9q89bPg$qa8rD;fZt>z9in6+(FHP`iVQs<$bW-?0|19aQXf`P*Wd?ypOP(g($oXS`Pr=VOYZDma!(erkr zp0CJQjsvZqTF6e49r9=9h!w$wl(AaU1S*A(OePZv7o-`{Cdf_nrtnaT%SEb!0!dk6 z2<1B?WC;6OWv_G7YkuVy;|-#*uY<{|0U}Y}kW|yZHs*$A&lAZ(1p1DbhYT4v3k1?! z2`U>Uzq6M}!%wQ2a-@s&3J<~iUg;@oX(@Hr`p)G7_y~v!7R6Y}A#T&($xFo77I=c( zj&^ErbRCA8H~Q`M`d!S>*_JhR%dM$X*ta8$hEO6avvtP?T8@x>!D`cRamqmqF*@r7FE&4<*J*kJ=}Dh z)pM#IJ%(fvtTvR_c^-VUK+Yy(M{-{;*CoKnYE?EDF@PQF?2JQm0>%2Zd9I3d$9j5Z!2}eeBf1le7;=4u15^htR z4=jnd^Gu#CQp4eauV#!}D;!|+UEj{=1tI&2+-$#A#PTgLf&X%@NG96Ep3o5aaDC>s zm3MUaBw4-DgO+f{i*ha&+H@dfWz9%M**Fd!iz@Rr+#NpMV)atgqT7obQb7>u2S1$uZo_fgajHz|83C*(Aylro#8hIzKj zbTP1oDiMCp4^}$Rd$m3BOl)aip3+y#v0ej4PvMO0t%CU?ly!-+jU2BhROSq(DFxMD zI}onXbgVoLcROJ1?Y4tBHsvmF$|SgJC?F&gUX1jOTK)vlM^N5h)J~DG37yVTTt3KF+$F@k{J8mmk4 z;_8bjuB8EZMzJkF9C#1=%E}859XAvS)I>zJDOyk8ihMdPxnt=JW-U>2y8Chq;!eH9 zcw~jbk!xcz_1bIqqH`|s)F5HX8vUR;%USF+dzkQ1H$ucJkZ1U*-M>jrL>0n)40EvQ_!Z1CKxz*uSq?Ciw*=WrE?QW;*Dwt;iSXLT_M(7PPKy58rYqhtigoE z+2xo%?E@v&0#2sAl6=SKOsqdlvoamMa3{;W6rp*^yzq%)7e zU2a>2o#I)#Z|FpHos%lUq86w^1Dn$+(uff|r0#L}8Om=fx=ION`Gt zdY6bWIU^KPlYGtl)UQw>&w2N(pu&THpSI>4Qn1j zn*>kD!;nKB2>ax--hMKiO;4DWYN7_>MAvCg8*U-bH$dx}V29k1Lfu`r1V6s#p-ku8 zbhvZz#KOTiheF9$BG4#0hqNFpTnx3h=Y6h`6Vm#TP-efd2J6x|Opap-O~$v5u;18i zcSbV~Gr_*K(~j$71r$?xR+}m=r84q3)9n{|9(1(XgUgzF!~;U#l$Sq?Py#TB!q@BO zO8xVB$1;2C&)}^%yz@?nnmFzaz<{PodX|bu$JH|TrPE`x|u}|@P4ziwy}bA1BzoU3Zyed@5h!n_fy)#OC@c1>nbKG z(bQSn!3}T_{Tg$|BQHr_L`Erk57DjKn(0*UH(mFx-VLtz(quVAg4r6nXc9Sy1I)@u zHC@uC9DO#n_4hs!iEReRrMpMXB^M3gL{Ajj-^+U;4T{an!{ITGi9A;a%vJHYMcX5K znT$(LQczTtM=B}cGp3^@0W#mZJs!+5>Wz(iW{$fDJ@m{=7A+YBSE!iO2!Q^VJ9B5Q z;eyor(Fx7NFOrB<0M!oN&`YCr56H)&GFpoe zkb9y?>6npNE*o^y*!SAKTWVAx8dlF#prKo9EYbe3*t_GzBO2e90oojUMfJBM_mg|E z`?4cKYXkKT5y1P^i3~P-V0kQi0%e7hB2qr8m6t*QHnpiSvkxVF_;S=wqR56R;H?3lW$; zD{2uAom(JR)9cwmSELgk0YD2%(kvgvPFW!aM|@1cAc)P{E!_?1VR z)rxdD@%G%Z3bidwtS z6(f)RaB}xjmp7WL>;zpH#M5flFgQbmiq7N>O?$lI@LJWA)bvUNbJm2&D?w6a*yY|5 zw75-FTAdxa6{RU_v!1M6c|cdFHe@6~fEH}V8s>F4rgw_G-Od|vWH9(QS225vt*8S9{j+@D;*0vO}^dTM9FNZpV#AYtdEXB zALyz(Eql#Dm-p(m1tI6aAt`G)-nUGDp9E7E*VOkKFR&mm-ko_jrsOUqw%}hD+(2-( z2YgB3E;1bLCk`@OuoljXMj&iISxx7$;jx;=i%FS2i+cW&(yrz@b%*t-v-Tj$#R7XV zqfJFKb{O!cwGn>+5=+WXvFrtn%tiJR040j0hAc7KQ%FX89w5zujm>ig(97Npa3;TB@+2&c#EGRE?)OZL((7BYugC2cfnW;YVoZRrW=?|M z9Bw=eWyGXdbzeJDw~0XX?j%;jxecsB5(oSqV_T_=?3O^&G&I2;zN&Jwo$_3QQAjVj z@ObsFZ`~G5#Y$Th2|+X_)!y92JRj3z4V_TLL6n4>R_ijPTwS`3`|zxzX+-4S7U7^7s{I}=UFJKPRsZS zO7W$os=zZxbRqLE7tef{fdu>nTGp+ml0;wzC`wV>5%}#)pUgjX$8Gna2biZ0N*b6;KbEU#I>-ciG|z|ut%!$w;R&!W%QeZNn4 ze#o?Rg9sBuAK?^ZJW~?U+p;YNm#?Uk!`6Hrbc2Kze)9#-zq}2+!{R2mxL1m?#pF?3 zC~kulXU}R!8?Ir?J{p?-Tw202c!gsMK=JNVnmuS=PED6jH8KJLO z3cRt16BmG6B><#J(xjUp#Fy;zc$y0(81-$`EPe0~R=up+vr(e183B-pB#a?Uww7M% z-biH2k|_k3QDE@=f=?uk(Kk2+4zWM=9LzmW5R#u^Vq`^xkfq{oVz&+vUrd0w^f}9b z7Fy9E*8UjpPGEso)!nqsU^0*aqq zDyI*f-7m|TsCk4GSk<=)ea1P!$xRDY&d{?061Zj^HLJm!PCfWmb;PUpO4*39!+c5V z8u?)%5kU$FN5!Hs*N9Jnk5D`T;GH+gk)w}YhPzc#IJicsy}geI%|ZDKn7|hdZ%_uk=vcG9CqsUwf>J$uanSe^vjSTpll`P1vI(_Jw@ z1J8Cu(MSf%&_r`^*HPcL-YDLIa}T013~MV9=B7-6WRXBDu#h zB*CDMq$}|$1x?}jo`S@duLn)__=%AnpTkanq9+JlLyl!&X4H=sO-!2+8}#Lxpo+?l zpSyB`+p1?9;0gKwVno)(gpeBx0fdAh0oX^2Aml#~s9kQ1uh)yRz;PsTc)XwwdMfLu zWg({3C2XG{nluk3?^%%T$n~8ycH+4VRDq%b1vX$L8JdCB3Wnwfw7Bi#+!zhhFIu-a z?u~j=AmAC*H&aqvQddh5ik`1|%YX znRpAg6iHSAFoYFTgRI+#D(0L*V8_@67UVj4bQUWdfHO^iFPb(DYPLxkCi(~LrEk}2 zG0ae}IDIfd-K}k0oKha*M}NM=fiSCUY~FD&?<9omgcEZpbb2>pi$7GqrAzx30eB)J z5lktd{cf!6t37(cx(BU;kMgy=KWra2*acxNKo+<9EAZL?OWy%edy%;cwIMZ4l(Goe z98)UG6kegRLZZcSESoX1w4YL=5}41;zpx@O+;Qp=_(c?T-EUc5b&eQixc> z8mbfEph1Ja4eyn};Fb3bz|*^MlZmO$VXQJXwvckYVHj|+>qCl9^a?GiJTv(!CF7b- zGu~R^f`Xlo0sk0KKllc0SlLlC#prubbjedR z{2K`HUsUs%Rzma;0s^vo)1#L=wT%1*wiq>I19x`^(OYZHfoE|DLzL!#x}lxv4I2g? zgg|kx9q%cZ*W&tu+*gS3rD6RA;9;McX;BfIA+K+KZ>SfA%Ily-nG!IfRcF!)6s zMijB6H&g>4Le7!BfEyUzUWCa%<*@A$e**-5D;|`^4qL1e!mc|I9v~)r*hzrPOIDI) zG94yY40LyZEwxZVub$Q_z95)uRNa0SbB^9nu2k-Urlbely1xAshRfBYQ2)XX(fO}hB9SPvs$q7RsP^abB#tO+amdF?ASvJanX|6xO zB8`&q!J;t3U_STeZq|O(lD{1{HzYfie%kIQt*bp)8;}M$zBI04KhvNq3=Y-E5g3*L zqW7Xn$$Jx5ryGbDN9OY$ZMVo+lN_rSqV;W~(NsqlKodj928J6)=;%B+p6*IjJm+A8 z&4XU?8F5L6SCMjf&Noyuyy=$CUCB)U&U?nafGJzYRxC{m<9!MIUcxyKG{4JNVlaxoSTxntdZ7i4h=R1n94@# zfLdf*mxYqx(pX8s2}pGvgXoFm2!4`9|90sap_OJ)0d2RMnXbHZv5lLx9d_?SeeD-f zR?C2i*d%W8&E%QVH0}U|oEL-#%;J-9pVuwKd7O1|JbS1r;3I>O;cKdech5D%<$k0! zC7&wTg>v-#O3>@5O0OY=vpeeFBU~qzG~4cgyPD#hN@uTB01>N1_hS0CfengJ-;nS0 z;)^#DqOd0s7r>HS99DDD5@xg{lGlfIp@(e+;mra-Cs*{9Ia~_p-|uC>C$ha>(VLiC zx6aWBVFnv=0omr30hr$G;>Mq7il=G|FmS0$1uX|4 z4n&8OJMLY8wzmqjDP^R*H9cw8B&@$*!g{>#$K^KoSE}tFHrQ>$qKGMySK>iFM~2N_ zhbj?lp^$!K?u{6=yIReP{22(#l z6Hte$x6_<@-2qri({E)7z}^0_yXyd^ataSxl+sSHUWeB^!)g-jnL09-E|2s6S|N$& zrV;D`#XPhf1o(dODtF?-ce3X5QA2*CdfRekhVxb{#MO{mrM6>185@b$*2khtt(FV` z_l~;d&4u<1c4%QF@7dQ@r)JCl+_ikH4aQ+}p3AB4kc zdIVsG2Gm<(#&QQRrOXGhYP4|6fp~SicfaS)PCNxHo%DwvwLonEi-l8qav0h?UgK_1 zNc(QxU9*V8*USMlc2W@Eh7xN%Zcx9nv(B31Foh*O-@rz2#s@ndz=Abj-cd}w3uXJi zDSP+$=jr-sir z^7(w;@8|3Jp78@y?y81|hiE-3Ybg4pB)MP1$;=XBW^(ASp&-O?G8`!E(P&tty=XJn zP_$Cpb|drqXtX29mDJOc?u413;k9g5OgQoqcjJXs!k=1$!=EwHy>|mrW9J`4g+B0sEl}ZXoD#{|pV?a=k z$Ma#mHg#z~Be3zPm3sx|VKuwn#_Q5Ek-fl{qo}Y&h*r1Ik!L33xHFwh13^yrwoEzr zT2K3lp9^Fsf+mo=TcnjbXowWhQpMdEoqQi!lx&P@d{w|_b6HB!Hd`o=h)wt;*M_DX zg8Zni16)P*^wEv@9jX4$<{k0a)^(tza$&haS$``C5x-_?GK< zOESY3jh2i#v!!>akRG&`7*Lq06joIN^iiwt@bj+XAPVdv7IT{P4+`00_+U!_ z^NEf!C4hU~rmIj^C^Q2i>7#+vLu)#VO`Gws-U0Z{2-#QIoLgD(f~ODbGNMg86dc>= zL$rOWJ5xR3>D`uB=#gR*P+KF|jX))+KdEW1I{*p5*qU?Qt()aQRn)yQKu}wUSAegh z#mtV088I0oz^-I{^r2#(PcL{`1D-^`~57ESDMnp%gVQi%@P z#RO6D*~F^L8Y70LAn3M{ueMItkxIsZ(0RdeW`DiFDnJDny($0#Dj3nz)P^>GIIKrn z-q#0`GhOFZd)lcQ(JL0ZYRv_6FSb%7S;$;B*_gZRp=URAu8?_GDwKrxM{*&W0?Jea z2jcC9&=Lox57G4z$Kn{@s&Tn#<$Jdt$ny+POW>ptW*}sKKj+fvbeE{h%Bv>>FVZ^_ zIj7rLx#hQkJ0VLWSF*B=f`Y>XUPWxJ#f7la=?F)w;f~B{=@8{Ato|Y$I~mGZNI$m) zemvN(rd^ku=#`$0%q>gx(5y!tMnK2%9Z6{HO}*{+8Wh5OBWFFX?D?W?$bMKkaANSd z-56~V?PcUFq>YkJw_82PhvLBz7rh=8G6Sk?Yg=>Ds=LYD88hM#W9${VK>H|zk662# znvhOzN^^qd6{bLPYtmjV`g2>{3Jes&afiyPG10|`!}cn$28VPyK^TD2Jei>R1W-bS z9qv^ws3rkM+3iEx-8aL~8R}F!WSKsR8Bo=PN*v(6gEXaGVkRnHmt^*YKUH_zg7VOG z18v+P-BWyZ&F&Ul4-Xw%2FVQ`t=u%$b5qg3qNg$}wwc_EVd%*k+tdIt# zt*k7xQhhyC`(BuL1xVCzv(>^H8!Za3ZU^Pz{UgkNUCJYE%(Mc$L?Ec$+i(GtldGpu<)H}mKC`_XsS$6?cpES18Nb&3DClRNW@w$N zRY`k>1eQdOAgC%&`$ikqO;jVtv?51TvMOBZXoJ z+Ly)BfXr2EzPFv_=&;`!hPNmyp(90@b-+fP6=#!8;B%e*2CE>7C0M(zHHOtsf+iT? z1QU6101C+p_#o1jSj!nKdcG1>3vog2Crf;8Zh`t;6GNbr1ZhQM%X93824 zt8ZzzK3sAX=Puw3<8%F)V00xV4t7GTqNFV`b>}8TJ2#lPjoLNsunTA5nvgMsTYRn# z%yb*lQ5Wwe+6bbbeYffL_;BO3)OxzdHeIIIK$T+Gwq#i@({;>_X54x=wpBkOs#zv@ zzB)rqC_`o}cj&~>gn|MwT!oUCR{%J*-Q6r*uwuCH7`6+^6x>C4kxsNaGm>`S9IIqW z`n}fNnZl=|!c2Ocv*;q;khMQ(1X!{aZMVcX2TChV2JYWvq?7ZO54_ZYMz+(fscu4A zT&FF^$z4KTOloEceT_~akPB7x6=2>~kza6RJ42QxCFJQQwe)$xLd*(H^CqL{aW~Ps zEp|_c%6>Cn3MmtkDo#vAC>*yS-_s4YO_R`WQ#CU;J@}(KLftjR?A=^0q1xVNLS*<* zlN}DZ2_)ee2?8nzy(fEJ_%|wcyR#OEx}U5ye@=;4BUhrE5saQd&Oi<9bDK9+Fo~KErX1L^!jKv>NLEx zjBpUKB+wb1Zm?a#4LfUPLDFeMLkP#>U}wB^r>V;Gbmw4+V$W#LIwa(tfJb1q6S4Ekd*5J$X86NhHJ-?mLG6% zy~Q+Vd8)WsCD}>{X5C#7gq%pvM`LV&jEf$wD=R8Wqq(DBo%yh-2bqXoZeuS!w z5cX2UXH%?dqYe;f8;lGbmL+|3oQ)UcQk;NysI27OpsV%Ku20V$KZrNrZfV0K3=~am zW{qiM#B;{JtkUjqtPhp-+&GBT0-mv$5bpQvE@5JC#_W5ACP3aapRYEGIZZJWE^4mL z98|65Xn!~0I=wg-M-{U|p$~}4>o{F+>0U080La#(vDu1ev*9+U0Vxxga9naG$)cVO z)(qmC_MYu(v790#y^9A{tKaxz(x9Wn0=O+4J57W*cnG_(A>EQljgLx=<{`dThg5kgPXmwC<+trh@Or!;uKR_5btdUa|tX|5tUIC8ckA#SnX$})$iEBAz-L3 zL)6`vY(fj?rkQF%$i@jLV{99;iBV9QOk!ahFeWNC=M#Bh8E6t}y-`sD=%fK$MtKtS zoZMiDB#JdD!S59{P}FAGRlBoo!!>A2e4FyTt+S@leP6G8<1S>%`}}_3ue}sw{dRZR z3=3KO25_c&%oZaw)sqFbFj8VLhY-&qQK@bu zO0bE9bmk=UAdTKs{3w8KM^G0Glo6$aUPC?63vx$L_;KI%_hz+P4l0O+Y$t|R!iRTvkz87|r%l73-a?B~!a_ zqbK`VwbvG}h4f|tG`l|LQxP*2dx0TY!0~3sF1Or-U~FN9inCmC08^=>~Q z1EHr?b~2Kid;=R@X;3_*sIm#MGgl_YR3{5Z>jcs!l&8+ra~wcvJ2P?E-5e@$6{$Hq zb?Urky-BAxUu79LZ&5uv#OX{%QPA0?2Xt;%46lYG`mftk@<|WNyx>gEkf!?(R zdD0&U_PnDObrH21Y&)_v;8aH2S>-jo?#w6kZer_d_pqR+<%CKP!_{o=Cg=>yD56Ih z!-9twNc5%D>%?Orky(D+9nm(=C^@C>22f$@C9cxnjCwmllU1R%Ml(}etOkKKRUlW& z+v$G4WZE*Auo4c+1$kfe8o9FLK1W=MCg=4O&-lSqzj14AuJ@O|9oI7`u1ovjeoB%~~grH*%6`yJiS0|`o<&}}xv zO@*QCg0=e@95;O#S0)X4D8e!yI9gx`7)21HIK_Bcpj(_9%q)JPj}8Sl(A8c|^?BQkYm38fyz`90#(o@CHQP()JSt z==4@Kh}+7@sHU=8Y|(~B6~WQ65!IV|5Les<6&+cJHddKXn_36zcDy3=TqrsT!5n%< z$@Rkq96dc}&^4RkawLl^UnRlF(?RUARb!6bfslb4f*A=f#h8F|j+od$?H!b@Qs)G8 z+%{BG!Df_(6z~#iJH5uAE!~-wEH`!$xA%g@$Vs1qsKjdJ05-l%plg(dLN}TfXwxIG zd{AtH^&ZZbu#U7Al86K?YHM`#1 zoAyAWprgYP+mr#rr`CAmhMpi@M~>$)ISo4vo=C!8oGb0Nu`F8)6k*F5$5e;;VglJC z-|R|~o$X<5Sgj^ATwa-$mI6+I_FJUQZ!FzMx!qQZMk9$5cf`<#jbxu|YCj?8t5H`> z`kMqSF;z5VyLpMaS-ooMy-b)A%!YF2&MKA52qm)#CuTM%DR^qv0jdfyG9Ms1Qy432S- zB5ofD4_Iwt&=}@o?(A~9>{~`PTpPNHfnF(!3$5KZAofkgIY)c!jCO1yfyN63x;k$- zHCnySP*KXR(Ka(s&Go&dHXAK+CTJnvDCCm@Z`PZY!bb)T74Gd|0nvdx=C(Ej=GP+t z<#D%K6T-&bQhQLe@H5ko+$!b{nz|)?UGGAbGtlKWH-cQbypR2IRAalfx&yZm;>!kn z55oL<0xri@>7wl+0@2TSRfGlOwfYQ5f7Zy-^BULb&-5{?FB^dgnaa|;lC22`(PJlz zg3>p|A>Fm*f#{(fgyj-G=H{j?2Bg>SwEInhL7j6}_o8iTwpx(fr1z^F{1x-P$n0aB zBkI+P^^-OM+RqU)GCSK;0feyAvN>o?l~~3~6zg}9@fh~sO2EgI8ewgBq3A$=F**Uu zj?(l78Z(HQ&Xl&%O751drY;yTAm9|6`$FO36a;qp~)GZ+o_DK#NC!;&S% zMY|@0-4KD!pER5kEu#~z8eenvD6;7u2qAO#TetGS&tm5`6HWG}DuZnasU(wJ#iZLG zkKs`Zo}4MW%vK5Xfb_mAOFi8GgXcWW5&Z%ksq+Gij9a$ z>{oqF4Ez0VoB~4FtW3PbxqP;s52|>f`e zHqw5m;b`tFcY{w0Sp7glOHTYy-YT+Y&c>oT0v=}ybR3*+36K_ST^r-aRTfuZU$V@B z;LBDx36#EIVt&7}9ThN6oU(0dHcJU_s!-`-Xg9l#=)D_d=JI}A?zbgDoj}9$wn{bX7Mx{MH0};0LkAX6PnlrCuNUM@w*_MsbXd3AEb|d0 zzhK$Iteq&Wf(5FrCgAAulD00+VjQHH%WT@>Nsb$|O;ij#xac6JRRCqRa|bdG8ojM& zKHsi}lht4qX#AY(Z{x+3l_4144Z#~I_4wTe3?`AQnDcb&2pq%p^?f`v){2j_3UnUB zTmml=qs`=?Hy@V$(O}Y>%_tMV8Ugc`pfuHy%{El#jSa=vo+PNyz2H~UzEh&=e4Bf9 zx3%_$i`|H>z(%p`$UDL>`1Uj#BlBInB$%MH4P&^)%v~)Qg5yl5T>#iem^0{Cim-Gu zutAVumsw8yNLWs1sn+wNt&FQeXn-C;S_4#qS>TYNcG2 zH|TCAL8=~H`NR}lh0%87?O`z=8LWgoM7!Q4=YWmTXicz&GHJ z4i;X=?e}|<1q+zmigY6sfak)z-fA@2PP=*$g8N~xF-;;yavo5D$kBNkhyM7uY~T>Jo1 z7-FP$i#6#+@je+z=0R)=MGN+a5CWu4G}sIpts~9=xonRDVcyG=z}aN8R>=AoG>mH1 zo#7tsH9pz&d$f{7JzEDss_J?XIAlej0)e6q-tw5$WCqv~IIEGjf7l#A9H3BfymLSzWQd3sc zEIJ#>VmEN$D^aEo@gvg23O1=xECIeb#96~`=FC);kw$Y?vk43cm{gu>Y3%@b1fKIZ zW{9_F6QCc_hUPL1A+R#Jk2!N)5Y740i+OXU4y10^o!fKt|5SV=-mr z)b+d50}%5lbWF!Nkp+|hna7gEv)6P4)zjp zwRUgeY^)>@Vld>10jQJ#re=C};TXUaxs<@LRoRY_IJHw!9&oLZ9Y$OTnzRaNe$Rr^ z_DoPR$RAAUCa`)DZSWf*Zn-<~$t?G&)>#)Kt3o2aF@WZ$oI@C061AN{EFw8Lmu@D-dB>477R_+GLbMS$I!W6L$?$4HAOuBa51ArH~%$^h?tx zU1ps0=Bhoh1LA-e8+kR-4LBvV#|}-0fNfYqN2v5Z(jG3 zV@N9x`DK?GE)a^e%uZNhWbC>z^v%|XM64+Z{IqLJh4L9apQmGsHIBgqd%B z2{60$2EdU5o9_3A7OIz$x-Jnw9HkmS9@C~n8!Q5}2t=KfGjX3BRE7jFitHw%{y|!M zVW_&f#Uzovr_70#7R>h0D4SADVgJo6WS1)st;0wvnpw(Ea0^MGR7rN~9dR(M&A^^_ ziNtPrfyMf2!z%45&H<{|PGLKxX$%6ND>W)Th4q1GoOGom+a=+4Ym$&em`5f;{ju@Ndv}m_=i)O=gDGw@9 zQyAcd8G0=*@FoTzuskG7a;2>~sNz+`Dv$GglI|SNt4lQOw&C%rD_n#8`}g|3$oLf~gzk}0YKg*8c+_{aw> z2`)simP?8k!&`>b15AiYb&`?Jz&otr=9{Kl0SVH6HZbY1GxlwCxlD@@x5`4On1(XG zw?Q)!Z2dJqw6hG%vlF#XOgl)07!WaS4X_LaKb51hy~(P-9FMRL#6{XMlo6@9k!Zj@ zCiuSVF{~BSm`L?}|02fk91G8jUiCg?&LxVZK$(DU{+gYH!R;EX}*i%*&*)K(MA8Z>vpj9Jm9<>o~36 zuo%v`DIIqa+3QN>(nfU1tk_o5T6XLSrgB@E-^IXb&2`w0cH9;T)uGua?if7;O}jlN z>BSX2>_Jl1;DjlH4H=@B`r!aV=M`9DoD$B!$Yeamml|X!eGxn!rmUoUd71Ci5J2!f z7w^Fg48CAridT6^Noy35(GXCt+1dl`A!5Zv$KulNAg;!fPU9Z>3lInl=h8yakd{6& ziGDMHDg>PM2dPMpnn}@w2Rw<|alc^N*uhs!K)!YWX5c$Lri)=2N{gI>Mt8xdV4?x! z-^$EpUI_Jp5lM2MPWmJyH2?{QQ(v$c@5lO<6^lX~5cwiM4EsH_-7(4)-XY8RVKbYN zqB2io%Ig76Dgs_S+}gmW5+Et2B3)N@j3)8E5W3=Et%>){-FaW4lN#;wKlM?kHD=<DgGRq3+lC zV$5UQdd2swl%0t47#$*RIVHxS1PawG{(uL z0-{fSzEw5QPfNwq7YN>O>_{xF)Ir)xLvkFwj!Ok6VPC(0SpA7cfCql zwbtPj`pHnMg6@bLI%pKJs4kkwpSqNODp?q;6ynz_<9 zf-_5Vc@CwVbuf!sy>U|EF=dG!se?=mXa*kv&<<|7IjV8&Bud=5-QqxIQCs`SZ}!Bp zDIjR(PCVU*bQijk`LsP39b3^u#GVt1V(GnkOz|*668$Uo=-!Pt1&q3@Q_`CIXT@DfJpif}n*USL#ZGVH0pdch}7pxvL^`97CDP9cw6An}H8`S2%ftwuEHX^uaJyjF{R~-Px}W2YqSpt4`mCTrOtE zsyI4utGzo3s4>WH7L@|E0;Ux&C$Q-h`4*#EDbCLI2+F#=P@-J|-k*-J9D;C=^$28t z*v%tzu7+7OU+t)Rqz15x4qJOTY~uMrMJh9u3s8gP;mjZIX?5vqs$et@VDqlp>vUmr zVvIMqU7LW;tZEp96|>uooaWH(4Cz+Q?Rp1?7hF=qp{E2Rz@V4QX^0@1ZUluxP)Wcf zhCqSdVjG-418+rSLb}51c`9en%G}Hmav*1;WfCJQiFQ(r6`UB_l&HpfDn`O`iIrzdg9A3FHFXh}WI9`j)%0vnch zr8EbR6OBwJ8*5*8&;~OKSf0nbIK>COjS(?kLLkgY?6tObOP`HRrdY8h4Qw^cI+=Eo z?NV;~gVuZ$5p5XL2Sd=xWVdz)kwSyAjGW+_0b|q>f)dA*>2SL^a4;_ll%z}zBdi!| z2nH0el(R$v9<|X1v-VO+<2*7NP2vD#uw%K05rMb0@EQpbnTBO%7?|)OZTx z#hkf|wUyZbn7S10bjMjgtax*e;_x5PI3t*BgSwn3j)V5X@6VCYmB5&Tu2MW#vt+fQ zH{pJhd+|h{#KSE;T;L`QtAf!ZEp8C>1{ti5JmWddii3Oa!Wgil4@3X zC`ti7Yoym3^8LbX6k$FYNHk_{*Z?MQ!AOdfh@{=DCg-5J^h(ciG;=IkeVCwB68?JP zceZ{9+4~FK>g?mT8FfH-VY!LB6CqgwKS*4SU`Lc8+m21oAYWX#<)XXBO%{r?ZoVO6 z9i^b>1V%2*ooxn)HH`PAS!ksa^P?>7b7)Ac+R11MW@N4BfaP{JCHa=QpHLV);&NQr zw01$qZ1r~h3fx-t!Q@LClR6q1bi=VswQ|xKqRZ7vQ4f6`T(Js>7h8>?dwrOR z6^ealy;}euz=jQa@aN>Fble%tYQo@=#Kf>v^d}>2!RA9+3z`*s*xB|TYzV3dfT}6b zdcf&ulWj(HhE&?FIVh9Ova2O+KyuszsbuXjS3tZWH#S%dhHsB0Yq2i!OLEoed-9O$V&jpGc``c7Hj#HwrLGvweo?G8c?Jnx(JL>0MT(PnTjCMEd2S-Uc%&) zHRTia0#K;dQSz|U)8AMz6@0nR{6Ev}Zy0mEvb6g!KBUS^oVZEzD|;5xK5 zufVrFj7pP7`*Alcrc;%jsvK;0sySon`O>Ez8uPX0ltZ{MF@W!>hIt1W}K&VU7#<5L=AQCu_j!xJlZtvq=K&&k4^=W>U9K%OwU4%0At3GcehJ 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 z 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 z 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%0DknG_fp77 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

ns#oz)0F}IR6AsVua?Dp$-Fmucmo*s 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ℑ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%0ApjF`x<;e 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

Nfn2vjfkRL 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 + + \ No newline at end of file diff --git a/resources/images/build-inputs1.svg b/resources/images/build-inputs1.svg new file mode 100644 index 0000000..8b108cf --- /dev/null +++ b/resources/images/build-inputs1.svg @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/build-inputs2.svg b/resources/images/build-inputs2.svg new file mode 100644 index 0000000..dd9922b --- /dev/null +++ b/resources/images/build-inputs2.svg @@ -0,0 +1,591 @@ + + diff --git a/resources/images/builds.svg b/resources/images/builds.svg new file mode 100644 index 0000000..ab32c06 --- /dev/null +++ b/resources/images/builds.svg @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/builds2.svg b/resources/images/builds2.svg new file mode 100644 index 0000000..3e9d990 --- /dev/null +++ b/resources/images/builds2.svg @@ -0,0 +1,21 @@ + + + + + + + + Checksum: 1ab...3d6Checksum: 1ab...3d6Checksum: 1ab...3d6Checksum: 1ab...3d6Checksum: 1ab...3d6Checksum: d2f...4c7 \ No newline at end of file diff --git a/resources/images/circle-check.svg b/resources/images/circle-check.svg new file mode 100644 index 0000000..7a8ecba --- /dev/null +++ b/resources/images/circle-check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/circle-exclamation.svg b/resources/images/circle-exclamation.svg new file mode 100644 index 0000000..f1e1334 --- /dev/null +++ b/resources/images/circle-exclamation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/circle-info.svg b/resources/images/circle-info.svg new file mode 100644 index 0000000..b7481c2 --- /dev/null +++ b/resources/images/circle-info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/circle-question.svg b/resources/images/circle-question.svg new file mode 100644 index 0000000..cad7c00 --- /dev/null +++ b/resources/images/circle-question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/computation-cogs.svg b/resources/images/computation-cogs.svg new file mode 100644 index 0000000..9a125e7 --- /dev/null +++ b/resources/images/computation-cogs.svg @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/diffoscope-report.svg b/resources/images/diffoscope-report.svg new file mode 100644 index 0000000..dace9e1 --- /dev/null +++ b/resources/images/diffoscope-report.svg @@ -0,0 +1,1954 @@ + + +Qt Svg Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1010 B +518 B +483 B + + + +build1 + + + + vs. + + + +build2 +strings --all --bytes=8 {} + + + +Offset 1, 16 lines modified +Offset 1, 16 lines modified +1 +/lib64/ld-linux-x86-64.so.2 +1 +/lib64/ld-linux-x86-64.so.2 +2 +__libc_start_main +2 +__libc_start_main +3 +libc.so.6 +3 +libc.so.6 +4 +GLIBC_2.2.5 +4 +GLIBC_2.2.5 +5 +GLIBC_2.34 +5 +GLIBC_2.34 +6 +/lib:/usr/lib +6 +/lib:/usr/lib +7 +__gmon_start__ +7 +__gmon_start__ +8 +18:23:34 + +9 + + + + + + + +F + + + + + + + +eb + + + +· +· + + + +1 + + + + + + + +· + + + + + + + +20 +2 + + + + + + + +3 +8 + + + + + + + +15:4 +1 + + + + + + + +:3 +2 + +9 +Mar + + + +· +· + + + +2 + + + +· + + + +2024 +10 +Built + + + +· + + + +the + + + +· + + + +%s + + + +· + + + +at + + + +· + + + +%s. +10 +Built + + + +· + + + +the + + + +· + + + +%s + + + +· + + + +at + + + +· + + + +%s. +11 +GCC: + + + +· + + + +(GNU) + + + +· + + + +13.2.0 +11 +GCC: + + + +· + + + +(GNU) + + + +· + + + +13.2.0 +12 +__abi_tag +12 +__abi_tag +13 +crtbegin.o +13 +crtbegin.o +14 +deregister_tm_clones +14 +deregister_tm_clones +15 +__do_global_dtors_aux +15 +__do_global_dtors_aux +16 +completed.0 +16 +completed.0 + + + +readelf --wide --decompress --hex-dump=.rodata {} + + + +Offset 1, 6 lines modified +Offset 1, 6 lines modified + + +1 +Hex + + + +· + + + +dump + + + +· + + + +of + + + +· + + + +section + + + +· + + + +'.rodata': +1 +Hex + + + +· + + + +dump + + + +· + + + +of + + + +· + + + +section + + + +· + + + +'.rodata': +2 + + + +· +· + + + +0x00402000 + + + +· + + + +01000200 + + + +· + + + +313 + + + + + + + +8 +3a3 + + + + + + + +2 + + + +· + + + +3 + + + + + + + +3 +3a333 + + + + + + + +4 + + + +· + + + +004 + + + + + + + +6 +6 + + + + + + + +56 +2 + + + +· + + + +....1 + + + + + + + +8 +: + + + + + + + +23 +:3 + + + + + + + +4 +. + + + + + + + +Feb +2 + + + +· +· + + + +0x00402000 + + + +· + + + +01000200 + + + +· + + + +313 + + + + + + + +5 +3a3 + + + + + + + +4 + + + +· + + + +3 + + + + + + + +1 +3a333 + + + + + + + +2 + + + +· + + + +004 + + + + + + + +d +6 + + + + + + + +17 +2 + + + +· + + + +....1 + + + + + + + +5 +: + + + + + + + +41 +:3 + + + + + + + +2 +. + + + + + + + +Mar +3 + + + +· +· + + + +0x00402010 + + + +· + + + +20203 + + + + + + + +1 +20 + + + +· + + + +3230323 + + + + + + + +3 + + + +· + + + +00427569 + + + +· + + + +6c742074 + + + +· +· +· + + + + + + + +1 + + + +· + + + +202 + + + + + + + +3 +.Built + + + +· + + + +t +3 + + + +· +· + + + +0x00402010 + + + +· + + + +20203 + + + + + + + +2 +20 + + + +· + + + +3230323 + + + + + + + +4 + + + +· + + + +00427569 + + + +· + + + +6c742074 + + + +· +· +· + + + + + + + +2 + + + +· + + + +202 + + + + + + + +4 +.Built + + + +· + + + +t +4 + + + +· +· + + + +0x00402020 + + + +· + + + +68652025 + + + +· + + + +73206174 + + + +· + + + +2025732e + + + +· + + + +0a00 + + + +· +· +· +· +· + + + +he + + + +· + + + +%s + + + +· + + + +at + + + +· + + + +%s... +4 + + + +· +· + + + +0x00402020 + + + +· + + + +68652025 + + + +· + + + +73206174 + + + +· + + + +2025732e + + + +· + + + +0a00 + + + +· +· +· +· +· + + + +he + + + +· + + + +%s + + + +· + + + +at + + + +· + + + +%s... + + + + + + diff --git a/resources/images/diffoscope-typst.svg b/resources/images/diffoscope-typst.svg new file mode 100644 index 0000000..394fa7d --- /dev/null +++ b/resources/images/diffoscope-typst.svg @@ -0,0 +1,663 @@ + + +Qt Svg Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5.84 +KB +5.72 +KB + + + +/nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world + + + + vs. + + + +/nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world.check +/nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world/hello-world.pdf + + + + vs. + + + +/nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world.check/hello-world.pdf + + + +Offset 768, 17 lines modified +Offset 768, 17 lines modified +768 +</object> +768 +</object> + + +769 +<object + + + +· + + + +id="29"> +769 +<object + + + +· + + + +id="29"> +770 +<dict + + + +· + + + +size="3"> +770 +<dict + + + +· + + + +size="3"> +771 +<key>Creator</key> +771 +<key>Creator</key> +772 +<value><string + + + +· + + + +size="12">Typst + + + +· + + + +0.11.0</string></value> +772 +<value><string + + + +· + + + +size="12">Typst + + + +· + + + +0.11.0</string></value> +773 +<key>CreationDate</key> +773 +<key>CreationDate</key> +774 +<value><string + + + +· + + + +size="17">D:202403201 + + + + + + + +75712 +Z</string></value> +774 +<value><string + + + +· + + + +size="17">D:202403201 + + + + + + + +81055 +Z</string></value> +775 +<key>ModDate</key> +775 +<key>ModDate</key> +776 +<value><string + + + +· + + + +size="17">D:202403201 + + + + + + + +75712 +Z</string></value> +776 +<value><string + + + +· + + + +size="17">D:202403201 + + + + + + + +81055 +Z</string></value> +777 +</dict> +777 +</dict> +778 +</object> +778 +</object> + + +779 +<object + + + +· + + + +id="30"> +779 +<object + + + +· + + + +id="30"> +780 +<stream> +780 +<stream> +781 +<props> +781 +<props> +782 +<dict + + + +· + + + +size="3"> +782 +<dict + + + + diff --git a/resources/images/flake-vs-legacy.jpg b/resources/images/flake-vs-legacy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22981ce373e1fb2a835425e8589f831faaccd4be GIT binary patch literal 243793 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%0DQHx>RkjbPx|h{Q z1dX6g*kdMRPjmnIi`Of(f~q8A`AW^->fNak?zBARl`e7B@-B(|%{+lV`;=#x>P>m* zX_zg|##_|-1ZZ?f9#ZPqxj-QxhF<33v z^7;19ocm+U23EL-Ms?CTvGp_9zC6mfIrd%PEFsXq_R0$G)45UseW(i8fwi~7u~Thu z&8Vrvu<3kAhMXPC&2wwDF>RR`G^IqLPqo_`^ry&b3(pvgEs@)f(Bm)HIoIAHbsM0) zgXo>9h%Qmw>i4$%ZE*14q}nH9s@;het?ri9l97b>A{(tS6tY~z2>{n;$6T38u+d4e z*x&%%G}axq**1^HHdzWR)H(#(0Z~E=vMKAO++0cKh8ov4@R>=$McDGQL!aXe-gSJ* z;=G{NLwm0}xUBYKWU?afC#mHd@q-h)ZY+k|e{OcBnk-bGNiiMm1kOd6B*J%`?~|b6 zeH9M{C$ve;5I(jIGE|uW;qxvXuo+ER!<|HN7}CH2}` zX(=h(!23#Vgu2TYTw$fTUO7qR-U)QjOI%DePP5`K-(9iXs;qS|=A+-{^?GVKHKWA1 z}I{sSbF*WbA!YRt8JSSML=lI%6!vfp`= zlaD@_q5E%knp$X?nOxLBn!sC#&z*o;WTrZl&L`W$yi$91@n5H48%U|*BcWd=E|zgF z3uzW;V;KC-w$^2dFQ-N3fW7AA>o>Yf?lrB)-eIg;jO_0>;z~Ood%&3iIhoC#1iyX4 zaI4ez^wz}E9DuiYa^#`?cG*u)vO4|7Qk}r{i06#GhM+keTV%65(d0uGv z@HaPlV?&>Di>YY2_9dzx1iX3?M@xZobU*FhIw%DU_%++Z;#3gQ^*qrR5a@8K;G4rJG!HHnR!) z!g51|Kh&nx31^4~?j10osr5pn5gUwlTwLs3;Cy&xrN&37onY?_&~iTb_9Gd>(4oh} zV|yCXYC@Wd9CqH}M7h68oS{AF1kl+!!!`C1tw-XKC32$ncknim9z5mb64#QP#5&%}&zJ!@p&cx+hn`nED9h zSwWBoz^Yp9 zHpdubJ;!tg>Gr9g`@3!8roSF?FeE)p_m_1ybeQz%QOVBOYQ*~9>>}{~i=TltVUSpS{4vdWKksGcF6*ou1?F`Y;Ny^I{41 z_xIjyS(zxWQg-;A!E`$-E==@GXF11Q76bjIoqqTwHQaet+IP51y=8~e`$Ja0<$c`qHj3-(nPfWqW(p!@Cr=h`JT0f% z;>=W++R$rXBoV_sC04&+@5zzQ%2$#YGvHSEK_>UHg%vV+mj^*mi7UENhr{+hTDW$8 zWEFa_@m`ye zK0Y5XlOw&NzZU80iu75Dy6DI-QAB;8beODUdl1$L=FJP{_oSo8grR<#J zQcm?7@q3N9x>Uq~xm81WOf$9|GCGIg3_F8}P}lYRrB z)cO@M$1K{r6nGA;*e>sEX{*=D>|$KBSK}2y*dCSe`+E>+WbS0BS)A%Xj0e_}n)}+?;api_5!~|^TiJ^H@5~U_k!+l1oNRxo4Mtf8a ztUz(nwtQZ4QAiZoe0WHn9rIL23PM}O?79ZOwL-BE?&jjEGRc8)VWrV-{@}xuJtMz& zLF3gk_hqE9j)|Cb{C$9LqT87vX-F-8CA9mM_x#eFpxrq*EBb;kf3wV%CvUBy?1(Yt z4SdcgFkKrQttLwuxF$NPNQC<~L_pK= zHzQENqYLy43$l~ubD4ytIYhh?p(^~!@h!Sgu=WdQO1m${b;@%u%d2OI_|f|a1D%i) z)g7j@@55<4Zng`yUb(TExHX1AsSG@WHW8Fh^^TsX*q^0{f^%od45xxAi2rYwBwoh2 z_ooof0s0SIKS+BuQq8aY^badY@&9bKZGkI&zIHtRb`xi2mcFEpze z$uv^k9QLw~RJj`NC6O&3`VV^hj&d4+eF?I@{ChE-#ba);I~9Lyg#{J{wRAl@4^i&$X!W-NpOWG?a0P8OARr z)=lQ8sv@&(#_#5&j{j?f`R}rAF-O*S{cl1c|F7Ka2mgiy{@=a#VXw>*N<+#xSmTl+ zA^1+efTu1?{sLl(#x@WwfC!!-id;u~rc$NNjq3A|Q~%F;ch60b^0TD;GduT=THq+r zXCw_Z|3md{!eDc``>)F&8fiL!snMGZ}u)gSug9Lr^)57y`t7cD^3GAAKc)OpQGkgKtU!b6C}Xm z*nzGe3Y;sJ9fWFzQ-{#z5_#x1`t|&eB!0iC>fsgFWp3#qNl0A$?oe)Tl*Z3wkzHpTBje}(Nj94M3a0G z+AZA#%rL)@@++QJYJ;!@cQlI9$#cwzIKj@HkvL~VfqKDx$7I5^<^)H&vCV@XiWxyAGH|vmYSBAgobgi# z{^bl*HUs5^J_EwLR06aUIVf7cp4{OAWw*v#2yg=(IW57gRe-OA z488PFoc-0{)z++YM<#vKx9i-_X&o~2&!w~vRZ;P>&*Iz)Cqe6lp8B7Rp$=2~rs`N0 zFNW~23)bEf#4Y~84e2I7 zj9FJv%{z8Ta+z*J;-5sJ#C4%_IZ+ARhAt>eXH65pO|nCm3Be}F7*klp-!L##7gTJr z)%N2gng==EY@`ExyK9XfJueK;ElypUThj-(-a!}KdN1QiN6A-Vj_d2W3M6Fpj}JDC zlIi{G*snF9-uX4Wd57kXr*_>+o0|Rd=?{Fr+{itm`5jG2wEaJk(3a4=4KSz)P_FZR zeK$~acCl`|i+=zjrFt82x$loClgl>2NJH6t6R63%MZSSHDYjWWe?VGuK*Xk0Cs64oW#aa&7HcdnY@yIu1(d|i3;O9;e+!-ZWW-RzIkkL(@t>@^!2>7awty4axc#|JpCz0l}$ z5Juu?rQTD0*%w)~*{})hU|YZ7P<{eIH>D zI9**+r`&7+U5cT#MCts{cEVcVyRe(X55%{TdWtV9*}Nn18GQU@TouLz$rfl1H?7f& zJ}5v;5NDr5aeZ1Wi4SH?GVA_S9ER2hnlB!e|Z>f=z{(zSaU5dg)yJ<4@KIv ztY2Z_3@TO|D}GK#B05K?V4N-LCR|R{;Q&CX#=3P!GK%D_oLtOGyBw#bfBd)i)!Ig{ zYAwsrrdrd=60ZyUjy8Dnib5Jpg86wn&Wdy8D)lk@rp5>@-mJ}e41GO2lh`@%p-Fn7O=G zlneu)U9Ne=Ogz$p+>UF7Njk(oV7!)g7s))ae#I2;x6fYk02b$i23l}R+{aWl1beVdsiGLWz9$!Wig^`HzJ%K|t zQ65tZk}Ziby*E~5?Qxn?rp7%iYTN@a7gRB@E>GRN_uA?F8f1*53cwdNo7dgtUCfXP z8|r|_JXO&LLHmN!_UOIU-a6Z@#6y+_*}$AL?jA%GF`PqvuGzc(zw(YW)r`waQ_SBx+lzFt%@|GWPHBlS%iE^C{4dwroN+h6Pg2=Y=E zwgPNHWrW*A!9i$91t8pxg*Q=D9dnm^7G_e{6#c5dwuCRhu~P?e$PRwc)g z$kk8&WQaxXYVv2CmIT+%3e7!0Je>&(fk{o;$cGlX_Y18t2eL{>0&)ChU(T39GvRob zM^L;L_gpJ11w}hN#Jt{~nH7S7dH5V|bL2^-<1x>iw!7#^!W_sV#cJt_f5+-@rU}@W zirh#I_UcgcP@LhD-WhREEXBKQJD9)z4 zqK$NfKO!pF?%e(qNy|TYrZpurU)Z!ROWnjnWJ!l8a`4FjTEp?x;Tg)^D362clDVcgLc$MO*AB~O%(@ALKt;K$Lx*%Y!& zW`l*gC7PtyZb$cFANvjZPX6ALLf_LN&Nr1g@heLzy~J3wd#T%aIN9`!d&JVEY?naT z!UBeTg)7w>UbIHX&zi!)J%-^k95ufQ~{q^jYp~ z<&CE0SuwR)9VZ+vXJZm)w;5PPXH~tHWx1B>DrLR*KeaiI1?&W9!ZeAtDXw?No*Ami znXU*@fVs%+psKfGlHD4U)@u4xEo|R5p0;Ls+eA@x>fnF^@>Q_(U+}OdfZu8RF8Bx9$q)?iFw2i@8a{?N8Rj#>jP(%XthS@k*apvy$%cP?P_sH)hZC@ylY_xhs686ZKUhRudIkI)X?QrNZddR# ze7tH(@X`pLQOBb;<@ge?!fej%*O7Ic#WnMLy6v1f95_JLCP_rw_c=uzHPpwRn(Qby zT&<~(Ps?34=`oJF!r{ho-I&q*JCwelFJou19%!wYbj0);*=r|%qN`kAuS`4i_|*pa zU{M-_x0LJ-aZ_OThs&3W?H6BvJllTYMSmsp>r({Qbj=Q>}T|;^P#Xi%nrc(0LQ=AgBKxF{?;0C*{@#q(4Jl}g@A_uE z{lH!3o;{+#YnvbBzd@=d9P8_kgOS}01I~BiL*`6+Z0b3u`e!#C0e)o1VM{a1{N`RR z+_3Fppg8l%lT2r-U6!ClGiKlN*$Sd$_Ky$#0j~L!O4Zuk#q?)|AxQH-qG zfC~Q3kjH}w{f_?q&^nx237oa9M7jE(0aFKYas3y#F691^zcv&9U-4@ zmWP}D&S>utg4R0F*$y55(mJLp<3RhCp9@a|0l>?i|H=X|Cj*ZS3aXVM`D+SJZRMpp z;#bJa!%fJVG7+MXE*CF-F&Z%)axqQ?6>eJeMZ_6m5YPa(&`v+4lAe$4QDFMMwuF@j zG^I5;;k$fVv2Ch25wRh)87IIEK;3{NP%PB( zI7y-PANlGsFJvA*e1Rto@@Pd^;hgn+Xm~Oy;h!nYp3KJznvC77cnBHB9pQHu@b1?}-kC$^ z;QZf1J9`sl??WA53iaD^H=eaZvvDnW$!1`o__OcF!3o;|n`0~x9ZzwDjy1|{jzAN9 z92y+EJvjx6f>rI>JaimDL3`&gWcs4;_*qei=zWJ5Oo-=Xs`Qgl)8LFDv1u*-js{i$ zy+HOJ86lULpT+>>6N7KXh-rX(keT1~v#~nJ5?1zmWl?^TS#ZXlR4MQa55kX_qbfYj zKT)fO@5DUA8}Q8#|0om@f6Ox6E`!jrt5dt{c526}4uAKR{umE*ECJHcM-m>1H^8Bk zI)skF%I|YU#W_9vV*mwB0!x*pIe0bYoDUcv>jAG>6!|U)k|#+~NTbcH4^HG7gC5%} zsTHf+P}ZTpc9Y%8mm0DolW(AWA%dhLU+Jxg8Y+fy-3+UcxD{GCJR4s>tP7$}+0R8p zg|8>))^Zx@zRnV89A~L~-5MwIkr?kh>GO5K80J4WUB{664CcIKMl3(Pu*O(NYxI^d zZWP+AB2f<|C?YP+gdGd}iCis%Wc1y`bdW(C3?Y1hPJi?pO>P1oA7>AVhovX?7t4e0 ze)Gjz;#}sqc0cuAXR4?ZCGjs`H!=_65YgH&7#PJmy~myfwY+0A#aoar`j;3p=!NJo^A zISbgzj|T}~A}?`7;?e@(Veg+(D~q1~JhLF#SyR|Pg>&qrO%QVJ!6~(XekoZ7OvvrB zy2B7pC`~%9i($2nWOzSchDx5;b6B=Q4q#7E76iQP^DFt1trn0nB&s1&wRsgaL$M1uYRM-y|fw-k6c;TF{ zuoU3^=S#A|H_0yr84cdT*~An4u=|6ZdFKPG^=gMG*@Zq%-~raM4%%x(o!x(9SwDzo z6z_VrbbDnY)$8ZL-k)*j*cQhGa}oKAT@W%9c)1uCzj072m`r*IIzGX{K^0hE`CX_X zA6lv|Ybx_scUhATjZXv_Y75m#Glg^*Dv0pJMv+`I|4_d1i!M z>IzeC>3h87)AVa>g;7D1$mo2xMX1VlB9FMA%?CLDb!)$PCtaxxN|yt}FQS zZB5dr<|oSjANIaHtf_O`o7Q8k15yV>K}jp%gqRi?stl=8K}AGS5(Xj1Dj>v=Dl%!v zwkn_?P(Vn5Dk=g>2$3O)5Xi2KN7di%_tU82a<8fG|RLLdJ&?D zSrixzA#bqR_>peO8D#ukgbn$dG2b7`mK|4bq-`A|v`gZa$*i+eRSrqZS9FkoTSvQHc>ETsj|m+fsGz8N3Kb|Nc>u^v)tXj%QDj^{@?&s zkVryfRm<2ulC$3UYDo6ECk=2M039xZZ=G#d8d3dSUY3?L9z75T=qfWU)saJ(R-dBV zl=iBV3cr_rU)=fjQsE`_4*W*wC%C)Kh5od|KoWPOETDL2Dr=X4Z*Qq*Xgw$y3)ItB zGH(-u9w<%49UUF*%{4MT*K_An54am*S-N?^)=9fINGu2L^!-J0WACQy+q&0YFeESf zLOP@T(^8-cHE)cYahLoMY283-MRwu0I3=vdjsJa#_2p-XZwR4 zZiLIY(kjQrw_i!VpvBGjv(9@m%5Xxxub&ZMqt*t%otfCtF)N}O05ncBz$H4y@fGH0 zM_}pB5!3|G>KBQfH&zdLc5Wbzhw5V0*3ER{lu=j>h~yC-1Dx&lsLm(a^h=7vm6?;R z11GV{+kkK3iouw!B zAtB$&YCnCCW4E`wYZWN@I3CXH$7h{=AOUNI9FMF#AqcUFi{tduDar&ZC2G-nE9zBGQ$Y9J(#M4aGCJr+BlP z9p#;SgD3Z0YGZUn0e~*pIPr{8)&+r=zR7BQIPFui6FvTr?gU8MVg~U)U-^}Ax|No}7UhM2DJ$0ocFwSGk3P85|kSalyF_@by zODGA?1el=^Au#I9>}_=!KUC)X?DBR=S$o_~?|%&a&wnx(^Ckp1Ti+tUsDY0_({~b> z@}%_o*%4m>sF9$lODV4~-Ub7JPB(eEIO4s=4`^5>Rgn)wj{~W#p52gE-ZY)@s8_`Y zhpB#kjB&cTk#oPr9fK2soug#RlK>3a5pjpP#w;T=kXOpY=d~Yq;-sHy-EQA9c&kIX z-^X8R3s;xf6o?dq>4nPOz**S^&SvcQ;DoPv9E^9FpSzpw){(`G>P4d_>U3-2IZeCV zKE~b09(|iBhX|V+^7z3FhA6!(7i~&uY95Z*Fd-gY5hveZANmyoQrl+A(GTB_{M{+ufN!b>X(>zgU?1$6ENb&uVtX`h?jkk`@t zU81>>STIt!%;Je=e`Ky(2e}>%2sX$f=qCz8VgS`F2T9p3a2l=d7;G5=~Oj;^j+pbaS@9x>?#KWytrspT_6hZ(mcFpo9zH~Kk{hoRa|6GI(lpCw}lQVw}(w4FP z!3Y_Y0D3UxD5u-3;>lTqon{C*VAMQZ2bh=RLiw^La0gUeSPK~EjsTHU7!UZ#=4a&! zwY|`8K3UX^2Fdy5U`r_ztTZJ^G2FOm@uaB38tjO_ZUR~MfI12KF(tUbpY0f!d=jvl zuqK3)I)Qw-j@rt@#a4&|aq<#y(eH-}LTmU^^D*r7tfl&PKwjG&|N7&ixy9@4T@5yb zs19DL@Kfw8C|ged{ONDT56xIqd^MRn5-+~ji5EThrp zj6=NO;9FntKsmikf=WrVNbz>R(wjEYk==+0EmQ8q6V37WEZRJOj^CcxZi8M-=Rv%A zb|tMUM)!cG4Lp_$NJ9Q9Nn5?6M&1eK-wRR)$Y_}9_>xAEun!6Nj zz#&iYcEY+N``e}*Kp@O{IaiEE{P?aF+3V@}CG^J8C>9bPezJ*nkEsVmLbAJeoj?Fr z2iRnr6exmn`8cFJ+!41`G>RA(VpRqODf(v;6>!&sE;(WVb(2uOD#-83w{3c{dRFV* z0Bp&=U1i61KgAJ>1^5i!X{sdlodUMTwn`?hi6>0aiz%#_IQOBxG;MqCpH zZV~xQ`d+Huff*w|wj1YE9A?+0=9m8X&8vX5@9bGm4qNBBU>{TiG?wJ6Zkp=AF4WW! z^AXZ=eEQZXh&x}!tqaVeZNs}bwDh+TpDBNs(Czme>Mc#d5EQUUsIGqTmb-p$UbLDe zzw)Q@8hWLaQ(&BskVt>?#`tl^opSO}LMURtOBTq9filhhj0qr1uEYpdw?AehQ#@0ZrjO|fK&D`aPey{N)#$rBuefTG)^XvxHn81FXs|Y2} zljR*gR*+}cOI9wb$^H0Mbnz2?pWLBi;!O?Q>)AE!O+gndSl_fd8wdLO`p%~1r50Wo zlCK1o>|T01u!w-{=t(~n?W9x1#I)=Ot+l>!Z}-ghf5Pv+uXw}Yu4aKRKM^D%QTiKFcBc77P+fGz2#YH8K)8%!BR~cxG{IqDj3IK z=Z)Q)_tMN#XGLK|$E-WsgWCnYJ({U{j0af@r@KB!X^i`P+FP6pxv&6m{aehFIgHzE zu|g+itN2_!)lj4-$Y$}}Y!`z~O{xF|w2PMNed(;mGXx$@n>1PnKmsd);poO)2aP*n z@@RGW{26iaxYxFmx$9?B_6JgRlgQr-wbWl%II1$O0Hb-=1Dpf?)l;bAegh09u)mr@ z&90hGkcC1c$GYx^U4NT=k}!Au#k{c@sf3o!A=?LQpbeMdX336i57{;o5qB(rec757_Z~d-q?YeZD*2v*tfveiMQKnh&S8cv z?P|EECD$3yT=Qlyv##QclDl^Mnx{wbZ`%eBZAsr_kYs^Qw_#(GOS7;QN>|y+NJ+G- z3OL(mu(y{>me?0Q&3wL&lIMTW~W~2FV1jk&$8e~Q3d|y##j7p z(F&`G!c^xOcMq^58L?mKi&WReiszXnx!(cZiIh9{dtoYdGowTKILo~k8M)?N-9yPj z#5n~=ohynM?BThG2asn9)o$p^V*1JN3 zxs8JpSb?vrBA<69vpYzZBZnnTHEMmaZyeCvr5r)*CQF5d^G)Vu$3suvUG{jdk)Qae zm!1|%gm-oNf*D`CF_d%A8segXMy%kY>;0+^Io0rT_EI@|%%$~G#ydEH0cMd*=?`9!=tgDPjwwep=5m-r*Hb%}X(xMj-1S{76W%4Pz5 z<0MN)dhQ>tWEf5DtlW=$R-B?lGK9*R+)$ zJmYVX2Qd0G3=kmm&4CGBJ|@7ZwA3JOeg25Abk(>3oyk;3fE^0s9e%qU26zg;dm%#1 zW*b2u)D@tVx2vLM?9 z9r}4sE$o#AJM=fhykHX+Y{G&~Sny5$sk8PcHeuO|7d+3wfWw)`;Ia-;0g@JIR9;?| zn3EpPyOeaWu{141o|b<9w+ZuFPa(g|RZ2toDuu;p=IY>HL>1~2_0~~cri_%)U-8X3 zFuMt(_B3Y&`e0M-CxO4-WRCV~^r8uuJdzs^5XO)DNpeupd;O}AIv%5AxwU0Sj0r2B z=vj37xVrYhfb_GR?MUR|hMP2%`VwYkLZt0-)x%4oaWCfsYOWM7G;-f%$V}g3=!&~3 z%bPt9{K+eFvZ7-ebK7=HABl^4>KAYAJ`lIA>tGjg6)`S*)FV7e&oN5HEtLJQ!%7Jabamyj z&h*qbbX1Z+O?-)RiNMC-&2SA$m$y|jk>`bNt>kdhZz(Zy z8{MNDl68|R`8#9vj6tgB1CZ^xIkKo%&`jDihM-%NDn3U<>Th6(ooLbImz`%o(#SQC z&DqEgP+}9era8koU!cL0ZKf`Ij8AMZ8mHrl$EEg!sJ%#kY5c@q(4cpc23Pc@~6L ze4jt&qJsfaVeIl-Xh8_`6NJW=Yo9TSzb?RI4-_Xk@44S5GK{iF4k!@j@vnfPXp!w^Sdhr%OIkZ4> zV0Wxy<9m%s5pq5YQ-@M2K<0qNWjV{S*wyd|BtfV(w}8O?F~IpwON`aPZmt6Ki>(Cp zj?$II|L*r*{Sqz&^#WTd$Sg3j#)H6FQ4Y@tDWG5F_aBq+`#V|m-}9*mZ~8MxOYTEV zBYC>R(dv7K`7F!!owhA+?Z;#{JvN|%SQnWJj+cuvM1GrUfQ&ESPc;bi^*T%d>3jWL zsB%u80w7#qC>P)(^0x$8RL@s5v(l`=+4cKVvN%Z8t07cO{=|k$*dFi*K79>Et40gO zeVqd2rgP)XWwg60ZUv$ad$T35dtjdPrH2>1eSQ=fn{wqjN{{_%fcH)?P7x@=@(lL^ z?X%as4*R09GIB8fD5-7LhVU%i@84F{+a8(pM7QsJP!_dq&}|}1>Wf8&4E7X3Bgd(B zzhz`PxPNl94!>6;&Yr_3EOXb_>c6W|{hGmX<3EOcRnZ)%Xtpnezg5lUD{D=8eM)u{s4CY8Be!&JL}_{Acx+icOn0NYolOZdzWO9qr`QZN{%xh zb97TyJl*%?NFK~WD_E4wKk5%nM;SWW@D%K$D+fPr0 zIeV9pYx_P;9qn^;jS6Yc>D3>?^E^W(cn?vol0Y80;3!9-+S|ny`F!yY@2nm~z~cBi z@Cg{Qyr_Oay?S}mR5%H204>lHKG@H{rT)BJax@u-iZKtz`!@HNC2c1d`uJz4JxnJQ zd?6-No;;9H?PzjYy59PNVEtzRX1(_EoqDjx6EF|J-VRQnDC1YaDk-)fn>H*ndF)?& z$f*3{&Ljsz6UANr&X{`s6;)~g?eDVuS3Ty*<9Dd_5rzYLlbVv6d_LEElTW1D%N7B0 zkU2?cLiKX11o;tjlcyYYA<)>Af`M9uE-~VCcovlwXFjqHZ@b}<8+|Fc0bp@5h7=vx zIs_1&KWS$>^}G`3DlY6SZ{vl46FX=eRd2`GH?|w*XfLGS^4HoRhT>6G(ovl`S*Gmf zTf&xg%!C=Mkb+Jg5TPqV+x-;k7ClN~4V%B^SMn!YD9^-j9pWZ=Zu)L{-YW#MWt-*|h*&d}B$qo+`(`Fd(MQg#7ew^& zpA5tQ&d33?bYuhR1Nt-Pb?(KUoSCy~#GG%(89^|$Nnl|)0vsI_dY9+OLb~tJlJiFkIR^tcv2oNp$R@B3mW%#a)5pn)8ojTYnq3BTxT)z zP)y-_jn5INX32YvA=Kd9Ja+daEk%1kPOz0=J zzb@Sz=bj;067Bgi8Rw)22wJ=j0*I1-7&HJLI2Glc1nGrcb2k|$j=0meXK)C6&3j-_ zThD$%^p&)G?`+1m)#?hkJq`hFUzOd+I6J8~)Wf3mWxIISTlayX&(miRI9o8bW~~{; zJ*jVU202s02l_;V)LZi3ed{EPJ23+$ID^3_LXS>ibPY|<`f@6mzKlE4-1rTJJ?Bhr z0HcBgYLiBmYBc$%oHnqvyge1GjWgM3*<8t@J(_iW6zPruhnxTW>`?<5$uGesTdG>} z5@+D$K}+TD+MR|^)gi1ok1mM%DV3F=N)bz`BiVYMgU279!x zv9>T7gq6{j5&SuSqi?#qod)F@Gf2=mkO6Q^Z7@Iudky7EENhy(yIqv z7ohZZAh*%CkRuC!6z{LYQ8eV$!x7Oh) zm7d_eMqI9VJjhWX3~+}FMFrM%?8J;$?iO`h`xG3d$*G}a@X!{6F}7p3fPLp&2xO>_ z#658;vuVZSVM~tpv^(G&LP~8(cStA+vSEOzgS)UUJFIamfLgvAuY6(Pf*^(tO284Aur;WyDi8R2D2e6O?QQxxvP)VyLk%Diml;&6S6c10xA&YjAGuhzDWy*NY1zyKHk1PltAkf) zLU#Gn;_{?E3;U!_y%1HOC?zEYmUL!0$lC_SXdjJrCCS^oQ%Ct6=`emjzGWg2faw5( z)4qYGSbekBsqRNb65rzU99aZ)@l@dXzuUyt zXL|g1RGq%P^Uu)x1Kj1b!b3hLBSgElDQ(L_X#KsIA$BvJ74obkjUnu%ySsZ5I5P|; zr_?i`%Sn3nmU6 z(1tXOZ_+(BGCETT()_R^^&IM?!zGc720b zF~Yd)oh^vs<%K;sOJKYNNaj~?C53qrlt}GC-^?UP7O-u@GG*bC$hw=>ds8hl&le{< zv)h8*h+~eN5Jk%i7Fj`=0Y&{yz8;g8w=H_DwkEZE8_FeFa%f*!%M@~{9J6myx9%%( zV?y`&tR&}(ExnDC5h5AMS3Mahso(ZnuIYa(e}h(t`~!tg*qDqcR%i8BSnwSrh#R7} zle^52pK$3l%pZ86rb1w^=_D*m-RL17R-BhB2FTZhM7?1DhhfgoW#dKAH(|bw)YG7m z7nxR?F~Mx4hZG2@%!^%3Q-If&zXXI|_pzU_wZm4{J@4|sL@ROqD$6)qSTICL1Ctdp zRJ0Ua!@2ufIFMHJSDmOt6f>TPGpjC}+>6$yUl_)vD_8IK9$ls6ml7uGm;pj;e=itk zrdvq*P~GBfq`F7<`X*vs)8Wob6~0~L9tE*f57oo^IYh=_k_|@%j$(F(2tx*BsD+YY za4(j^MO&kV(>P7UzGfvVu(QlN^1g>EwZ6kMaL8@OvVn(DWs(PZ-p&X9%>*O!mF^E< zK|;n6F$Zb~aaQ1#d_d%Bsk~M`k2K?}o~1uE&VeO>BXrN_fM{#>DFEUA@C$p!wue{$ z0eH(3+f;|BKW}-PdhktLU{>$W+W^}D-^!TiG}6xAE*{85jJRwWCi&Xcj!#V4qOIpSD?3DFWeTY78{$1t1~axCZ5EfHFJ!1T++-SFEYR zgMWsAh~XO*tmb%!4rtBlP7~(lk^zjA=BS61xq&e;cdufFE>qaFL@@8Mu`cLcc450* z0=JoA6^psxTbS!qC(P>8X>;;y35bqz{86%{#Q>XQ>?Dr^AN7h30Ir(e1zX=_<|z{p zS`xb!^*P!ba-_9;w(8;8YluC>mp<3pzC^TSof}3UboaQ@0!V;vF$DlNGrWse`Xz&YZtZUT@H zv)lFTquE*w{An&qy(Q;sX@T-2Jo!rDgjHTHn)U zu+;31>NMk=m^M>l)udVy93fP_bW~8LP_|5XJ&@?VO+e(sZ9S@WdivKNoN@rPmX&#p zdPO75`uZYcQ?)`)mg6#72IH)E3qIx^>^!uNA5apL&o5VNt9L|KF~zTUQHNhLh3ic1 z5S*E`G~DKj?ShEcj`jS=guUwn-H+P(t1Xww5X+g$!}u=sgWb@`=hU$2%QH7TRUbA( z?VG@`TVtZsLmV?+CS_AlXz|_4>T7u|?8Y1$on;10s+_c>RxK_I6*^!+jpUsSfYQEQSGQohn z4E3TKK=Trp)MSc4USp)TAX%W()X$0nU5FIW#`H3{;4xH2gwa9HDuCEEXaGiGHfZ$P zzkn$F-+I>lXWzHxCeP#X>L!Os?UZ~WscDNy6yACW+$MgOz!rRWV2g0431hC z0+apd{=>gh>udb+@9lLLY=B|X2Sus1UY4reU|)Pq{i~}g=%l*4{ZYA8N#*DYds!2C zG&Sd>u}5p%q59(!KK7=$AJ=+aD;b~OCIrpIH7VtsC!hKFDBxW}KsV!i{P>2$8AG>% zKig2?uAkdK15jBMP_cQs5v4HscAmI95e67B+B&#rzVS76kfwo7}gVatZXXY_6sVUFX5 z0YhoA1eXiB_AX@d2+{n@!#SIG*!qDmL0g;u7pA|=Z)Z5WbD}lGz zzC(|`Ab!lAlPJDMY91DcT#QHA22Ua0zOn&VrNF!@g?^1G>8k%@|HNyy%SGVbn%2|6SBTH-yTrxDj0bHr5@b&1aX=(I9Hr> zX;3%|dX&HZ_R{eKM9I|Y|Ah-!p7JLI`CLsH_@eI#F7tx)y^PCa{bo-;u;H5P1B12v&29Vs+U1AFSFG`a+ z`hkB16mW;D0bD#91)7 zEq&=0dg5hxuz5AL>`>YxUl4;(nkgq{K8c<#9d6B4%r?z+uX24BykT?eM9H+PG;m8i zn19}@`+_px@|}15)E9TM#CKnPL9W(@_5n1x4Afk(tAI^&Jh?-C9rQ`{qSS1Ic`|}` z&}u_h^~MBeW`s;P3ApI|lLX~W`in5u$z*qNW^^FWGM$^z3E(FDNUUvYd!j@*Zx=<$Yxx^pWIVEye+Rlr*k?pC(Sf(J2y30#A;87BjXjy6--JDC%-wLOK$=&V4s_Plr69gw~D&ZF$cH3!x|lfK~3 zj|xYvLaMHS?_B?k3W9$sS)JtwP79CHXM~|^oq`U%^OkzV8r}>;#U0Ux1+QPg)9dHE zrAAyb&BCG7os+n>!4z=Y2Z!bl2(6Rz2gJYh(=E=uHVtC^QOP@Ry%uxCCjo)1RE{G( zNdP8t;`8!(IEOlDsWnc_a154&-k>LFMr5fR15!=*7ei$YEKl_!>{mn$)#DOWw?g(; z$wWqf>DD$ia*TWD0&f)S)ARIoUfs-D1&gdQASjMdmF7aVt|T+g))1iF_SkM4L#&_3 z?YQ(_W3Q#SHaq{m;$&N(7gf))fincgt;imE@z7Uob;LT);f+erO{Dxxt<_oXxQT^N z_u5r^C@T^!YoO3Q3W+EBH3>h>HE-dJ->K=eD@@!zSMfIFA_LS4KReIGYc7+(`6RfNyjNn3Y*O0Hkz8wW(p6PWx&0z3VO7{RUS`>2VMYFiHu=? zdNQ*%wXB+JG<3gk2fZ44x4e`AU@PMirlNs&ZqZv70zmLrn>#ON#^wWPiC*T4e7vQs zqh3xXKtF~Y>-a$RE0}<8eS;8@73yLVA0`<746212V~w_ zst6>S5mtciPufp|;uvKo3oaxz$-)^EJO#YFL1D`m@R)MkFt!^^nZ+mkWMWl~*a-FO zWmL1bbs=dx)$8Tx){dO?e)mVb@IhMR;4EYz>Q4xQI0r`-^*i50tt>wzrd7}A>r1>- z=Pa0k6vNIFrp5O8EOJOEp}*iF3y#y@D8H2@7buR))3U~NF}KWb8M2eSd^-<%^rx}s z5%Nf}65gTW_Wx}RQWUtn%EO>*Zc#NPHwOFv*8P>MV?eI^_sdzof8)Z{ z7UcF1inE|0|G3>2cGiLoS+Kpo96f)!7c!4MEo(&<>?Gg^i_7VW57L)*olks0rKgbP z?jC$K{wg|Q99|}ePDu3cQ-;hLWIv7jJO z&Y;B|)toZzj-79rlVk;_lmyrdBeca#Sz)VsG3kYFbfj`=(1k}t*G@WZw@Z6!*HC;D zp}wV2CCsBR<;0g8pbGE00pzMMW*tI�KXfuQBXO?@1qIg&mza8Hbh%P^O!Ti2U7w zSO$?Fo&~za@ESzBH>higL2+UophNq#2PQqKw3bk*5BAs zZj^t@fA0`E{NZS-kbyJV-}@jPev>-fQ3yake{EKUgEggnmL5-Wyu#)-4a* zbXYp<#M?-A*^QsgQ02t?>nR$yHoAfSKKX4NV5#*|!FnZN1$vdwJ&8OdW-O9S`>?A3Su&K0(zaa55i z)rLP+*DzV$BrC7rS7A*_udplVTHT@jfGeE^t?-tU2as_lZ<%6L^rywR*jOtIY`W}V z2ML>!k_MO6!^j_aU)gSuFt3?6MceLZx3(16*g6@XD)jNB9CCNh@^!^i>1m`flW#B> ziB%=rOiYWV>C|zL(z3&nr1s^{)I4U=o&sHad>fH}B`9!~a_4V#v3JDX;<}nX^TH&> zKJhCW)xBbQmfFq(QV~JW z^5En>5Va;op9I;ECoo`sELN}GIv>#}e~oDL-XN=U2^l|;K$7D5DZbJPCq#vgH&kSb zY#uy6?!{Mb!vYZRr(qz2xi|=tm_e11^KjDrOXks}7)w9`@2>l!kv2&E{^1`Ezklxs zmH(;>ezoy``t^>4o;a}L`$xA6Uosn92`P;B`PBD+2?x-I#eqCbv`tGzdfT?1>@uL}CaiS9b3u&`^ z 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/images/highlighter-solid.svg b/resources/images/highlighter-solid.svg new file mode 100644 index 0000000..58bd82d --- /dev/null +++ b/resources/images/highlighter-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/inputs-cube-2.svg b/resources/images/inputs-cube-2.svg new file mode 100644 index 0000000..86a03f9 --- /dev/null +++ b/resources/images/inputs-cube-2.svg @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/inputs-cube-3.svg b/resources/images/inputs-cube-3.svg new file mode 100644 index 0000000..4933169 --- /dev/null +++ b/resources/images/inputs-cube-3.svg @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/inputs-cube.svg b/resources/images/inputs-cube.svg new file mode 100644 index 0000000..32711cd --- /dev/null +++ b/resources/images/inputs-cube.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/images/inputs-icon.svg b/resources/images/inputs-icon.svg new file mode 100644 index 0000000..7df2235 --- /dev/null +++ b/resources/images/inputs-icon.svg @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/lightbulb-solid.svg b/resources/images/lightbulb-solid.svg new file mode 100644 index 0000000..5fc5e35 --- /dev/null +++ b/resources/images/lightbulb-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/note-sticky.svg b/resources/images/note-sticky.svg new file mode 100644 index 0000000..584f481 --- /dev/null +++ b/resources/images/note-sticky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/quote-left.svg b/resources/images/quote-left.svg new file mode 100644 index 0000000..eb1adfe --- /dev/null +++ b/resources/images/quote-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/quote-right.svg b/resources/images/quote-right.svg new file mode 100644 index 0000000..75e111d --- /dev/null +++ b/resources/images/quote-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/rules.svg b/resources/images/rules.svg new file mode 100644 index 0000000..8d2fa6b --- /dev/null +++ b/resources/images/rules.svg @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/resources/images/security-independent-builds.svg b/resources/images/security-independent-builds.svg new file mode 100644 index 0000000..a28d31f --- /dev/null +++ b/resources/images/security-independent-builds.svg @@ -0,0 +1,10 @@ + + + + + Independent buildIndependent buildChecksum:4e14e...4c0a9Source codeBuildArtefactsSoftware VendorLinux distribution, app store, etcSource codeBuildArtefactsIndependent buildChecksum:4e14e...4c0a9Checksum:4e14e...4c0a9Source codeChecksum:806e7...9c271ArtefactsEnd-user systemChecksum:806e7...9c271Binary distributioncomparecomparecompare diff --git a/resources/images/sourcecode.svg b/resources/images/sourcecode.svg new file mode 100644 index 0000000..b7d9caa --- /dev/null +++ b/resources/images/sourcecode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/sourcecode/bash/bash-diffoscope-comparison.log b/resources/sourcecode/bash/bash-diffoscope-comparison.log new file mode 100644 index 0000000..e3bc5d0 --- /dev/null +++ b/resources/sourcecode/bash/bash-diffoscope-comparison.log @@ -0,0 +1 @@ +$ diffoscope build1 build2 diff --git a/resources/sourcecode/bash/bash-fixing-builds.log b/resources/sourcecode/bash/bash-fixing-builds.log new file mode 100644 index 0000000..e71e344 --- /dev/null +++ b/resources/sourcecode/bash/bash-fixing-builds.log @@ -0,0 +1,6 @@ +$ export SOURCE_DATE_EPOCH=1709373544 +$ gcc -o build1 datetime.c +$ gcc -o build2 datetime.c +$ sha256sum build* +98f0419783bb3b06b45eaf5cc0efeef9408c4dad1e9eec9eb153dc7a6cc6962f build1 +98f0419783bb3b06b45eaf5cc0efeef9408c4dad1e9eec9eb153dc7a6cc6962f build2 diff --git a/resources/sourcecode/bash/bash-gcc-not-reproducible-builds.log b/resources/sourcecode/bash/bash-gcc-not-reproducible-builds.log new file mode 100644 index 0000000..218ab3a --- /dev/null +++ b/resources/sourcecode/bash/bash-gcc-not-reproducible-builds.log @@ -0,0 +1,5 @@ +$ gcc -o build1 datetime.c +$ gcc -o build2 datetime.c +$ sha256sum build* +5d0b1ae966c719862971bd51b4c035a478863a409caa605b2c529d45f2ac137d build1 +7cbfd989b49c7336dc495a055db223253f0c1d6dc232b66b0fe0f7b6103c274c build2 diff --git a/resources/sourcecode/composer.json b/resources/sourcecode/composer.json new file mode 100644 index 0000000..bada0e3 --- /dev/null +++ b/resources/sourcecode/composer.json @@ -0,0 +1,7 @@ +{ + "name": "awesome/php-library", + "require": { + "foo/http": "^1", + "foo/bar": "1.2.3" + } +} diff --git a/resources/sourcecode/date-format-flags.log b/resources/sourcecode/date-format-flags.log new file mode 100644 index 0000000..d016b2b --- /dev/null +++ b/resources/sourcecode/date-format-flags.log @@ -0,0 +1,6 @@ +$ date -d@2147483647 +Tue Jan 19 04:14:07 AM CET 2038 +$ date -d@2147483647 -u +Tue Jan 19 03:14:07 AM UTC 2038 +$ LC_ALL=C date -d@2147483647 -u +Tue Jan 19 03:14:07 UTC 2038 diff --git a/resources/sourcecode/datetime.c b/resources/sourcecode/datetime.c new file mode 100644 index 0000000..c6e1bd2 --- /dev/null +++ b/resources/sourcecode/datetime.c @@ -0,0 +1,10 @@ +#include + +int main() { + printf( + "Built the %s at %s.\n", + __DATE__, + __TIME__ + ); + return 0; +} diff --git a/resources/sourcecode/datetime.c.log b/resources/sourcecode/datetime.c.log new file mode 100644 index 0000000..cb79025 --- /dev/null +++ b/resources/sourcecode/datetime.c.log @@ -0,0 +1,11 @@ +$ gcc datetime.c -o datetime +$ sha256sum datetime +a123b...c8dba datetime +$ rm datetime +$ gcc datetime.c -o datetime +$ sha256sum datetime +937da...1284f datetime +$ ./datetime +Built the Nov 21 2023 at 17:19:34. +$ ./datetime +Built the Nov 21 2023 at 17:19:34. diff --git a/resources/sourcecode/debian-nix.log b/resources/sourcecode/debian-nix.log new file mode 100644 index 0000000..6d7e4c5 --- /dev/null +++ b/resources/sourcecode/debian-nix.log @@ -0,0 +1,8 @@ +$ lsb_release -a +Distributor ID: Debian +Description: Debian GNU/Linux 12 (bookworm) +Release: 12 +Codename: bookworm +$ sudo apt-get -yq install nix +$ nix --version +nix (Nix) 2.8.0 diff --git a/resources/sourcecode/example-makefile b/resources/sourcecode/example-makefile new file mode 100644 index 0000000..742e6eb --- /dev/null +++ b/resources/sourcecode/example-makefile @@ -0,0 +1,19 @@ +clean: + # This `clean` step is a dependency of the build step + # It will remove the files and artefacts generated by the `build` step + rm -rf test.txt + +build: clean + # This `build` step will compile the source code and generate the + # output artefacts. + # It has a dependency on the `clean` step + echo "hello world" > test.txt + +check: + # This `check` step will print the checksum of the output artefacts + sha256sum test.txt + +run: + # This `run` step will execute the output artefacts and print the result + # In case of a non-executable output, it will print the content of the # file or its checksum. + cat test.txt diff --git a/resources/sourcecode/listing-typst-version.log b/resources/sourcecode/listing-typst-version.log new file mode 100644 index 0000000..da7370a --- /dev/null +++ b/resources/sourcecode/listing-typst-version.log @@ -0,0 +1,2 @@ +$ typst --version +typst 0.10.0 (f2433bd1) diff --git a/resources/sourcecode/montecarlo-pi-compilation.log b/resources/sourcecode/montecarlo-pi-compilation.log new file mode 100644 index 0000000..0824027 --- /dev/null +++ b/resources/sourcecode/montecarlo-pi-compilation.log @@ -0,0 +1,7 @@ +$ gcc montecarlo-pi.c -o montecarlo-pi +$ sha256sum montecarlo-pi +241d0d05314472c6472fd90814f253ccc1b4fd10366ab828201aab1ac1a0d376 montecarlo-pi +$ rm montecarlo-pi +$ gcc montecarlo-pi.c -o montecarlo-pi +$ sha256sum montecarlo-pi +241d0d05314472c6472fd90814f253ccc1b4fd10366ab828201aab1ac1a0d376 montecarlo-pi diff --git a/resources/sourcecode/montecarlo-pi.c b/resources/sourcecode/montecarlo-pi.c new file mode 100644 index 0000000..370cf96 --- /dev/null +++ b/resources/sourcecode/montecarlo-pi.c @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(int argc, char* argv[]) { + srand(time(NULL)); + + double x,y,z,count; + int n = atoi(argv[1]); + + for (int i = 0; i < n; i++) { + x = (double) rand() / RAND_MAX; + y = (double) rand() / RAND_MAX; + z = x * x + y * y; + if (z <= 1) count++; + } + + printf("π approx.: %g", (count / n) * 4); + + return(0); +} diff --git a/resources/sourcecode/montecarlo-pi.c.log b/resources/sourcecode/montecarlo-pi.c.log new file mode 100644 index 0000000..a87a441 --- /dev/null +++ b/resources/sourcecode/montecarlo-pi.c.log @@ -0,0 +1,9 @@ +$ gcc montecarlo-pi.c -o montecarlo-pi +$ ./montecarlo-pi 10 +3.6 +$ ./montecarlo-pi 10 +4 +$ ./montecarlo-pi 1000000 +3.13989 +$ ./montecarlo-pi 1000000 +3.14048 diff --git a/resources/sourcecode/nix-typst-build-diff.log b/resources/sourcecode/nix-typst-build-diff.log new file mode 100644 index 0000000..d301586 --- /dev/null +++ b/resources/sourcecode/nix-typst-build-diff.log @@ -0,0 +1,26 @@ +--- /nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world ++++ /nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world.check +│ --- /nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world/hello-world.pdf +├── +++ /nix/store/1n4g9gsq34xzmg351r7sa87rrcazh8gf-typst-hello-world.check/hello-world.pdf +│┄ 'pdftotext' not available in path. Falling back to binary comparison. +│┄ Installing the 'pypdf' Python module may produce a better output. +│ @@ -9457,17 +9457,17 @@ +│ 00024f00: 6e65 730a 2020 2f46 6972 7374 2032 3820 nes. /First 28 +│ 00024f10: 3020 520a 2020 2f4c 6173 7420 3238 2030 0 R. /Last 28 0 +│ 00024f20: 2052 0a20 202f 436f 756e 7420 310a 3e3e R. /Count 1.>> +│ 00024f30: 0a65 6e64 6f62 6a0a 0a32 3920 3020 6f62 .endobj..29 0 ob +│ 00024f40: 6a0a 3c3c 0a20 202f 4372 6561 746f 7220 j.<<. /Creator +│ 00024f50: 2854 7970 7374 2030 2e31 312e 3029 0a20 (Typst 0.11.0). +│ 00024f60: 202f 4372 6561 7469 6f6e 4461 7465 2028 /CreationDate ( +│ -00024f70: 443a 3230 3234 3033 3230 3137 3537 3132 D:20240320175712 +│ +00024f70: 443a 3230 3234 3033 3230 3138 3130 3535 D:20240320181055 +│ 00024f80: 5a29 0a20 202f 4d6f 6444 6174 6520 2844 Z). /ModDate (D +│ -00024f90: 3a32 3032 3430 3332 3031 3735 3731 325a :20240320175712Z +│ +00024f90: 3a32 3032 3430 3332 3031 3831 3035 355a :20240320181055Z +│ 00024fa0: 290a 3e3e 0a65 6e64 6f62 6a0a 0a33 3020 ).>>.endobj..30 +│ 00024fb0: 3020 6f62 6a0a 3c3c 0a20 202f 4c65 6e67 0 obj.<<. /Leng +│ 00024fc0: 7468 2039 3836 0a20 202f 5479 7065 202f th 986. /Type / +│ 00024fd0: 4d65 7461 6461 7461 0a20 202f 5375 6274 Metadata. /Subt +│ 00024fe0: 7970 6520 2f58 4d4c 0a3e 3e0a 7374 7265 ype /XML.>>.stre +│ 00024ff0: 616d 0a3c 3f78 7061 636b 6574 2062 6567 am.)[Bare compilation]], + [ + - Full control over compilation + - Direct understanding of dependencies inherited from host system + ], + [ + - Prone to #emph["it works on my machine"] issues + - Lacks isolation and dependency management + ], + table.cell(align: horizon + center, text(size: 2em)[\u{00D7}]), + table.cell(align: horizon + center, text(size: 2em)[\u{00D7}]), + table.cell(align: horizon + center, text(size: 2em)[\u{00D7}]), + table.hline(stroke: .5pt + black.lighten(75%)), + table.cell(align: horizon + left)[2. #link()[Docker]], + [ + - Better isolation and dependency management thanks to containerization + - Isolation from host system + - Popular solution, widely adopted + ], + [ + - Potential variability due to base images and package management + - Additional layer of abstraction due to containerization + ], + table.cell(align: horizon + center, text(size: 2em)[\u{223C}]), + table.cell(align: horizon + center, text(size: 2em)[\u{223C}]), + table.cell(align: horizon + center, text(size: 2em)[\u{223C}]), + table.hline(stroke: .5pt + black.lighten(75%)), + table.cell(align: horizon + left)[3. #link()[Guix]], + table.cell(align: left + horizon)[ + - Deterministic builds with explicit dependency specification + - Functional package management + - Immutable software environments + - Isolation and environment reproducibility + - No containerization overhead + ], + [ + - Steep learning curve + - Paradigm shift from traditional package management systems required + - Very limited package availability + - Unfree packages are not officially allowed + ], + table.cell(align: horizon + center, rowspan: 2, text(size: 2em)[\u{2713}]), + table.cell(align: horizon + center, rowspan: 2, text(size: 2em)[\u{2713}]), + table.cell(align: horizon + center, rowspan: 2, text(size: 2em)[\u{2713}]), + table.hline(stroke: .5pt + black.lighten(75%)), + table.cell(align: horizon + left)[4. #link()[Nix]], + table.cell(align: left + horizon)[ + - Deterministic builds with explicit dependency specification + - Functional package management + - Immutable software environments + - Isolation and environment reproducibility + - No containerization overhead + - Vast repository of packages, unfree packages are authorized. + ], + [ + - Steep learning curve + - Pradigm shift from traditional package management systems required + ], + table.footer( + table.cell( + align: right, + colspan: 6, + text(size: .7em)[ + Legend: \u{2713} = Supported, \u{223C} = Partially supported, \u{00D7} = Not supported + ], + ), + ), +) diff --git a/resources/typst/ch4-table-conclusion.typ b/resources/typst/ch4-table-conclusion.typ new file mode 100644 index 0000000..de3f779 --- /dev/null +++ b/resources/typst/ch4-table-conclusion.typ @@ -0,0 +1,92 @@ +#set align(left) + +#table( + columns: (1fr, 1fr), + stroke: none, + [#align(center)[Pros]], + table.vline(stroke: .5pt), + [#align(center)[Cons]], + table.hline(stroke: .5pt), + [ + Facilitates collaboration and onboarding: + + Reproducibility enables easier collaboration among researchers, developers, + as they can replicate and extend each other's work more efficiently. + ], + [ + Steep learning curve: + + Implementing reproducibility practices may require learning new tools and + methodologies, which can be time-consuming and challenging. + ], + table.hline(stroke: .5pt), + [ + Transparency and trust: + + By sharing the methods, data, and tools used in research and development, + other collaborators can verify and build upon the work, fostering a culture + of openness and collaboration. + ], + [ + Complexity: + + The process of making software reproducible can be complex, especially if it + hasn't been setup from the beginning of the project. + ], + table.hline(stroke: .5pt), + [ + Improves software quality: + + Reproducibility practices help in identifying and fixing bugs, improving the + software's overall quality and robustness. + ], + [ + Proliferation of package managers: + + The existence of too many package managers that + are built without reproducibility in mind can add another layer of complexity when trying to build software reproducibly. + ], + table.hline(stroke: .5pt), + [ + Enhanced reliability and validity: + + Reproducible results provide confidence that findings are accurate and not + due to random chance or specific initial conditions of a single experiment. + ], + [ + Factors limiting reproducibility: + + Factors such as proprietary software, licensing issues, and evolving + hardware can pose challenges to achieving full reproducibility. + ], + table.hline(stroke: .5pt), + [ + Security and integrity: + + Ensuring that software can be reliably rebuilt from its source helps in + detecting unauthorized changes, enhancing security, and maintaining the + integrity of the software supply chain. + ], + [ + Potential for misuse: + + Over-reliance on automated reproducibility tools can lead to complacency, + where developers might not fully understand the underlying processes and + methodologies. + ], + table.hline(stroke: .5pt), + [ + Facilitates troubleshooting and debugging: + + Reproducible experiments serve as a clear benchmark for comparison, + assisting teams in identifying discrepancies, tracing error origins, and + incrementally enhancing model performance​. + ], + [ + Potential for stagnation: + + Emphasis on reproducibility might slow down innovation as developers might + spend more time ensuring reproducibility rather than exploring new ideas and + methodologies​. + ] +) diff --git a/resources/typst/equivalence-classes-of-reproducibility.typ b/resources/typst/equivalence-classes-of-reproducibility.typ new file mode 100644 index 0000000..9448b44 --- /dev/null +++ b/resources/typst/equivalence-classes-of-reproducibility.typ @@ -0,0 +1,24 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#table( + columns: (1fr, 1fr), + align: left + horizon, + stroke: none, + table.header( + [*Equivalence class*], + table.vline(stroke: .5pt), + [*Examples*], + table.hline(stroke: .5pt), + ), + [Same phenomenon], + [Human experts], + table.hline(stroke: .5pt), + [Same statistics], + [Software like GNUplot, Matplotlib, R], + table.hline(stroke: .5pt), + [Same data], + [Checksum of file contents], + table.hline(stroke: .5pt), + [Same bits], + [Checksum of file contents and metadata], +) diff --git a/resources/typst/essawy-table.typ b/resources/typst/essawy-table.typ new file mode 100644 index 0000000..f9eb06b --- /dev/null +++ b/resources/typst/essawy-table.typ @@ -0,0 +1,55 @@ +#import "../../src/thesis/imports/preamble.typ": * +#import table: cell, header + +#{ + table( + columns: 7, + align: (right,) + (center,) * 2, + stroke: none, + table.header( + cell(rowspan: 2)[], + table.vline(stroke: .5pt), + cell(colspan: 3)[*Original*], + table.vline(stroke: .5pt), + cell(colspan: 3)[*Other*], + [*researcher*], + [*machine*], + [*data*], + [*researcher*], + [*machine*], + [*data*], + table.hline(stroke: .5pt), + ), + [*Repeatability*], + [\u{2713}], + [\u{2713}], + [\u{2713}], + [], + [], + [], + table.hline(stroke: .5pt + black.lighten(75%)), + [*Runnability*], + [\u{2713}], + [], + [\u{2713}], + [], + [\u{2713}], + [], + table.hline(stroke: .5pt + black.lighten(75%)), + [*Reproducibility*], + [], + [], + [\u{2713}], + [\u{2713}], + [\u{2713}], + [], + table.hline(stroke: .5pt + black.lighten(75%)), + [*Replicability*], + [], + [], + [], + [\u{2713}], + [\u{2713}], + [\u{2713}], + ) +} diff --git a/resources/typst/essawy.typ b/resources/typst/essawy.typ new file mode 100644 index 0000000..cf572ff --- /dev/null +++ b/resources/typst/essawy.typ @@ -0,0 +1,107 @@ +#{ + set text( + font: "Virgil 3 YOFF", + size: .9em, + ) + box[ + #grid( + columns: 1, + rows: 4, + gutter: 0pt, + polygon( + fill: blue.lighten(80%), + stroke: blue, + (0pt, 3.5cm), + (70pt, 0cm), + (140pt, 3.5cm), + ), + polygon( + fill: blue.lighten(80%), + stroke: blue, + (0pt, 2cm), + (40pt, 0pt), + (180pt, 0pt), + (220pt, 2cm), + ), + polygon( + fill: blue.lighten(80%), + stroke: blue, + (0pt, 2cm), + (40pt, 0pt), + (260pt, 0pt), + (300pt, 2cm), + ), + polygon( + fill: blue.lighten(80%), + stroke: blue, + (0pt, 2cm), + (40pt, 0pt), + (340pt, 0pt), + (380pt, 2cm), + ), + ) + + // Right line + #place(bottom + left)[ + #line(length: 320pt, angle: 55deg, start: (216pt, 0pt)) + ] + + // Left line + #place(bottom + right)[ + #line(length: 320pt, angle: -55deg, start: (-400pt, 0pt)) + ] + + // Left arrow + #place(top + left, dx: 161pt)[ + #rotate(35deg)[ + #polygon.regular(fill: black, size: 10pt, vertices: 3) + ] + ] + + // Text left + #place(bottom + left, dx: 50pt, dy: -125pt)[ + #rotate(-55deg)[ + time + ] + ] + + // Right arrow + #place(top + right, dx: -161pt)[ + #rotate(-35deg)[ + #polygon.regular(fill: black, size: 10pt, vertices: 3) + ] + ] + + // Text right + #place(bottom + left, dx: 300pt, dy: -130pt)[ + #rotate(55deg)[ + effort + ] + ] + + #place(center, dy: -45pt)[ + Repeatability\ + + Original researcher,\ machine and data + ] + + #place(center, dy: -105pt)[ + Runnability\ + + Original researcher and data\ other machine + ] + + #place(center, dy: -160pt)[ + Reproducibility\ + + Original data\ other researcher and machine + ] + + #place(center, dy: -215pt)[ + Replicability\ + + Other researcher,\ + machine and data + ] + ] +} diff --git a/resources/typst/figure-checksum.typ b/resources/typst/figure-checksum.typ new file mode 100644 index 0000000..5666be7 --- /dev/null +++ b/resources/typst/figure-checksum.typ @@ -0,0 +1,31 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#{ + set align(center + horizon) + set text(font: "Virgil 3 YOFF") + grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (40pt, 25pt), + image("../../resources/images/inputs-icon.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/computation-cogs.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + { + set text( + font: "Liberation Mono", + size: .7em, + ) + box(inset: 10pt, fill: luma(230), width: 100pt, stroke: 1pt, radius: 5pt)[ + 2aae6c35c9\ + 4fcfb415db\ + e95f408b9c\ + e91ee846ed + ] + }, + "Inputs", + "", + "Checksum", + "", + "Outputs", + ) +} diff --git a/resources/typst/functions-vs-computations.typ b/resources/typst/functions-vs-computations.typ new file mode 100644 index 0000000..f4217cd --- /dev/null +++ b/resources/typst/functions-vs-computations.typ @@ -0,0 +1,29 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#table( + columns: (2fr, 3fr, 5fr), + stroke: none, + align: left + top, + table.header( + [], + table.vline(stroke: .5pt), + [*Theoretically*], + table.vline(stroke: .5pt), + [*Practically*], + table.hline(stroke: .5pt), + ), + [*Function*], + [$I -> R$], + [ + $"eval"(F,I,emptyset) -> R$ + ], + table.hline(stroke: .5pt), + [*Computation*], + [$I times E -> R$], + [ + $"eval"(F,I,E) -> R$\ + + Reproducible if and only if\ + $forall e_1,e_2 in E quad "eval"(F,I,e_1) = "eval"(F,I,e_2)$ + ], +) diff --git a/resources/typst/inputs-and-outputs-part1.typ b/resources/typst/inputs-and-outputs-part1.typ new file mode 100644 index 0000000..b6ec089 --- /dev/null +++ b/resources/typst/inputs-and-outputs-part1.typ @@ -0,0 +1,18 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#set align(center + horizon) +#set text(font: "Virgil 3 YOFF") +#grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (40pt, 25pt), + image("../../resources/images/inputs-cube.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/computation-cogs.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/inputs-icon.svg"), + "Inputs", + "", + "Computation", + "", + "Outputs", +) diff --git a/resources/typst/inputs-and-outputs-part2.typ b/resources/typst/inputs-and-outputs-part2.typ new file mode 100644 index 0000000..508156d --- /dev/null +++ b/resources/typst/inputs-and-outputs-part2.typ @@ -0,0 +1,18 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#set align(center + horizon) +#set text(font: "Virgil 3 YOFF") +#grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (40pt, 25pt), + image("../../resources/images/inputs-cube-2.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/computation-cogs.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/inputs-icon.svg"), + "Inputs", + "", + "Computation", + "", + "Outputs", +) diff --git a/resources/typst/inputs-and-outputs-part3.typ b/resources/typst/inputs-and-outputs-part3.typ new file mode 100644 index 0000000..51c9eb8 --- /dev/null +++ b/resources/typst/inputs-and-outputs-part3.typ @@ -0,0 +1,18 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#set align(center + horizon) +#set text(font: "Virgil 3 YOFF") +#grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (40pt, 25pt), + image("../../resources/images/inputs-cube-3.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/computation-cogs.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/inputs-icon.svg"), + "Inputs", + "", + "Computation", + "", + "Outputs", +) diff --git a/resources/typst/inputs-and-outputs-part4.typ b/resources/typst/inputs-and-outputs-part4.typ new file mode 100644 index 0000000..5f90e07 --- /dev/null +++ b/resources/typst/inputs-and-outputs-part4.typ @@ -0,0 +1,32 @@ +#import "../../src/thesis/imports/preamble.typ": * +#import "../../src/thesis/theme/colors.typ": * + +#set align(center + horizon) +#set text(font: "Virgil 3 YOFF") +#grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (70pt, 25pt), + { + place(top + left, dx: 15pt, dy: 9pt)[#text(fill: umons-red)[Program]] + place( + top + left, + dx: 15pt, + dy: 31pt, + )[#text(fill: umons-turquoise)[Parameters]] + place(top + left, dx: 15pt, dy: 53pt)[#text(fill: umons-grey)[Environment]] + image("../../resources/images/build-inputs1.svg") + }, + { + xarrow(sym: sym.arrow.r, width: 50pt, "") + xarrow(sym: sym.arrow.r, width: 50pt, "") + xarrow(sym: sym.arrow.r, width: 50pt, "") + }, + { + place(top + left, dx: 35pt, dy: 38pt)[#text(size: .75em)[Evaluation]] + image("../../resources/images/build-inputs2.svg") + }, + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/inputs-icon.svg"), + + "Inputs", "", "Computational environment", "", "Outputs", +) diff --git a/resources/typst/inputs-computation-outputs.typ b/resources/typst/inputs-computation-outputs.typ new file mode 100644 index 0000000..29fad0c --- /dev/null +++ b/resources/typst/inputs-computation-outputs.typ @@ -0,0 +1,15 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#set align(center + horizon) +#set text(font: "Virgil 3 YOFF") +#grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + rows: (40pt, 25pt), + image("../../resources/images/inputs-icon.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/computation-cogs.svg"), + xarrow(sym: sym.arrow.r, width: 50pt, ""), + image("../../resources/images/inputs-icon.svg"), + + "Inputs", "", "Computation", "", "Outputs", +) diff --git a/resources/typst/my-app-graph-not-ok.typ b/resources/typst/my-app-graph-not-ok.typ new file mode 100644 index 0000000..fbbd257 --- /dev/null +++ b/resources/typst/my-app-graph-not-ok.typ @@ -0,0 +1,33 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#{ + set text( + font: "Inconsolata Nerd Font Mono", + size: 1em, + ) + render( + read("../../resources/graphviz/my-app-not-ok.dot"), + width: 100%, + labels: ( + "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12": [my-app-1.2.3], + "6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8": [bzip2-1.0.8], + "d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4": [ncurses-6.4], + "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1": [sqlite-3.43.1], + "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1": [readline-8.2p1], + "ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3": [xz-5.6.1], + "jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23": [gdbm-1.23], + "l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10": [openssl-3.0.10], + "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8": [glibc-2.37-8], + "8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4": [libidn2-2.3.4], + "br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1": [libunistring-1.1], + "ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36": [libxcrypt-4.4.36], + "q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0": [expat-2.5.0], + "rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc": [xgcc-12.3.0-libgcc], + "xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4": [zlib-1.3], + "xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15": [bash-5.2-p15], + "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib": [gcc-12.3.0-lib], + "xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc": [gcc-12.3.0-libgcc], + "35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4": [libffi-3.4.4], + ), + ) +} diff --git a/resources/typst/python-graph.typ b/resources/typst/python-graph.typ new file mode 100644 index 0000000..eb31179 --- /dev/null +++ b/resources/typst/python-graph.typ @@ -0,0 +1,37 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#figure( + natural-image({ + set text( + font: "Inconsolata Nerd Font Mono", + size: 1em, + ) + render( + read("../../resources/graphviz/python.dot"), + labels: ( + "pzf6dnxg8gf04xazzjdwarm7s03cbrgz-python3-3.10.12": [python3-3.10.12], + "6947mfg2jlid97cnvzvc6cvv6wpj2yhg-bzip2-1.0.8": [bzip2-1.0.8], + "d48d0ppksa6gwxjlkwf2i93rilyv9jvq-ncurses-6.4": [ncurses-6.4], + "dk5vk3c9zknbjzzxmiglzv46qgv32gb0-tzdata-2023c": [tzdata-2023c], + "fmh3s032bcsbfcdp82zsjlmkj1kp72j6-sqlite-3.43.1": [sqlite-3.43.1], + "g3dx6xjlvkg2njyxjsx9dswx5wjvkrm5-readline-8.2p1": [readline-8.2p1], + "ig0kkzw4n2pws12dj7szjm71f1a43if6-zlib-1.3": [zlib-1.3], + "jhqflhc7k4jwz5s13cj219pvwywzc6j9-gdbm-1.23": [gdbm-1.23], + "l7f1pf2dysadqpdxhsb9li01h5jwn5xr-openssl-3.0.10": [openssl-3.0.10], + "ld03l52xq2ssn4x0g5asypsxqls40497-glibc-2.37-8": [glibc-2.37-8], + "8ny01r2xa5mv5brk9srdmv91wrjvxila-libidn2-2.3.4": [libidn2-2.3.4], + "br1p5pan2pgmgrm81kj43qawd9b9nns1-libunistring-1.1": [libunistring-1.1], + "ml12av0bi52w2nyrpay8l47xwm1m6i7b-libxcrypt-4.4.36": [libxcrypt-4.4.36], + "pfqk28f0yaq18ha10ri9d3a8z5kv8s6l-mailcap-2.1.53": [mailcap-2.1.53], + "q7gkbmmxwai8idqigl9kyv2a7vhppz92-expat-2.5.0": [expat-2.5.0], + "rfckdjskd983ylf05jm9mlsw7y618hyr-xgcc-12.3.0-libgcc": [xgcc-12.3.0-libgcc], + "xa1bg4dk78cx7g9zqqs0akhv0my9l7w5-xz-5.4.4": [xz-5.4.4], + "xdqlrixlspkks50m9b0mpvag65m3pf2w-bash-5.2-p15": [bash-5.2-p15], + "xq05361kqwzcdamcsxr4gzg8ksxrb8sg-gcc-12.3.0-lib": [gcc-12.3.0-lib], + "xvxaw8q1b4dja27ljmynmc9818aagjz3-gcc-12.3.0-libgcc": [gcc-12.3.0-libgcc], + "35badg7gpxkhyzcrdyh2dfi9wfd43phz-libffi-3.4.4": [libffi-3.4.4], + ), + ) + }), + caption: [Runtime dependencies tree of the Python 3 interpreter], +) diff --git a/resources/typst/reproducibility-rule.typ b/resources/typst/reproducibility-rule.typ new file mode 100644 index 0000000..461e3b7 --- /dev/null +++ b/resources/typst/reproducibility-rule.typ @@ -0,0 +1,21 @@ +#{ + set text(font: "Virgil 3 YOFF") + image("../../resources/images/rules.svg", fit: "stretch") + v(-1.5em) + grid( + columns: (1fr, 1fr, 1fr), + { + set align(left) + "Not reproducible" + }, + { + set align(center) + "Partially reproducible" + }, + { + set align(right) + "Reproducible" + }, + ) + v(2em) +} diff --git a/resources/typst/scientific-method-w-r13y.typ b/resources/typst/scientific-method-w-r13y.typ new file mode 100644 index 0000000..468b03f --- /dev/null +++ b/resources/typst/scientific-method-w-r13y.typ @@ -0,0 +1,15 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#render( + read("../../resources/graphviz/scientific-method-with-reproducibility.dot"), + width: 100%, + labels: ( + step0: [#text(font: "Virgil 3 YOFF", size: .95em)[Observation]], + step1: [#text(font: "Virgil 3 YOFF", size: .95em)[Question]], + step2: [#text(font: "Virgil 3 YOFF", size: .95em)[Hypothesis]], + step3: [#text(font: "Virgil 3 YOFF", size: .95em)[Prediction]], + step4: [#text(font: "Virgil 3 YOFF", size: .95em)[Testing]], + step5: [#text(font: "Virgil 3 YOFF", size: .95em)[Analysis]], + step6: [#text(font: "Virgil 3 YOFF", size: .95em)[Repeat]], + ), +) diff --git a/resources/typst/scientific-method.typ b/resources/typst/scientific-method.typ new file mode 100644 index 0000000..3b23f1a --- /dev/null +++ b/resources/typst/scientific-method.typ @@ -0,0 +1,15 @@ +#import "../../src/thesis/imports/preamble.typ": * + +#render( + read("../../resources/graphviz/scientific-method.dot"), + width: 100%, + labels: ( + step0: [#text(font: "Virgil 3 YOFF", size: .95em)[Observation]], + step1: [#text(font: "Virgil 3 YOFF", size: .95em)[Question]], + step2: [#text(font: "Virgil 3 YOFF", size: .95em)[Hypothesis]], + step3: [#text(font: "Virgil 3 YOFF", size: .95em)[Prediction]], + step4: [#text(font: "Virgil 3 YOFF", size: .95em)[Testing]], + step5: [#text(font: "Virgil 3 YOFF", size: .95em)[Analysis]], + step6: [], + ), +) diff --git a/src/thesis/1-introduction.typ b/src/thesis/1-introduction.typ new file mode 100644 index 0000000..49b6b82 --- /dev/null +++ b/src/thesis/1-introduction.typ @@ -0,0 +1,391 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * +#import "theme/common/titlepage.typ": * +#import "theme/common/metadata.typ": * +#import "theme/disclaimer.typ": * +#import "theme/leftblank.typ": * +#import "theme/acknowledgement.typ": * +#import "theme/abstract.typ": * +#import "theme/glossary.typ": * +#import "theme/infos.typ": * + +#chapterquote( + title: "Introduction", + ref: "chapter1", + quoteAttribution: , + quoteText: [ + Sine experientia nihil sufficienter sciri potest + ], +) + +== History + +@Bacon1928, an English philosopher and scientist, articulated in 1267 the +foundations of what we today recognise as "reproducibility". He famously stated +in Latin #quote("Sine experientia nihil sufficienter sciri potest") which means +#quote("Without experience nothing can be sufficiently known") +#cite(form: "normal", supplement: [p.583], ). He was among the first +to underscore the significance of repeated experimentation as a means to test +and ultimately confirm scientific findings. Although the specific term +"reproducibility" was not used in his time, his emphasis on empirical evidence +is seen as a precursor to our modern understanding of reproducible research in +the scientific method. + +Centuries later, @kpopper1934, an Austrian-British philosopher wrote a book on +the importance of falsifiability in the scientific method. He argued that a +scientific theory must be falsifiable in order to be considered valid. He also +introduced the concept of #emph[falsificationism], which states that a theory +can only be considered scientific if it is possible to conceive of an +observation or an argument which proves the theory false. This principle is now +widely accepted as a fundamental tenet of the scientific method. + +@Thompson84 delivered a lecture "Reflections on Trusting Trust" at the +Association for Computing Machinery (ACM) Turing Award Banquet. Since his talk, +the landscape of software has undergone a radical metamorphosis. The simplicity +of his advice to #emph[trust people] has become significantly more complex +in the current era. The modern software supply chain is extensive, often +encompassing dependencies the often lies beneath the surface. Despite the +prevalence of open-source software within this supply chain, it is uncommon for +end-users to compile their own software. As a result, the build systems became a +prime vector for malicious exploitation +#cite(, form: "normal", supplement: [p.1]). This underscores +the vital importance of software reproducibility which ensures that software can +be reliably built and verified from its source across different environments and +over time, mitigating the risks associated with trust and the potential for +exploitation within the software supply chain. + +@Claerbout1992 wrote about the challenges and implications of reproducibility in +the paper titled "Electronic documents give reproducible research a new +meaning". This work was in the field of geophysics, but it has been influential +across multiple domains of #gls("CS"). It was one of the early works to +emphasise that the sharing of software and environments is critical to the +reproducibility of computational results. + +@Collberg2012 has underscored the importance of reproducibility in #gls("SE") by +advocating for and funding initiatives that enhance both repeatability and +reproducibility. They promote the adoption of standardised practices and +transparency in research, which are crucial for ensuring that experiments are +repeatable, a foundational aspect of reproducibility. By encouraging +comprehensive documentation and public sharing of methodologies, data, and code, +they facilitate the replication of work by others, thus enhancing the overall +reliability and verification of scientific findings. Their financial support +extends to tools and infrastructure that assist in establishing repeatability, +which is paramount to achieving reproducibility in broader research. Recognising +and rewarding efforts to share research artefacts further embeds a culture where +both repeatability and reproducibility are fundamental practices in #gls("SE"), +ensuring that studies can not only be repeated under the same conditions but +also reproduced and validated in different contexts. + +In 2020, the United States sustained a sophisticated cyberattack known as +SolarWinds. This meticulously orchestrated campaign apparently attributed to +Russia persisted undetected for several months and was enabled through a +backdoor embedded within one of the dependencies of the SolarWinds Orion +(@solarwinds-9579611) software, a network monitoring tool employed by numerous +corporations and government agencies. By exploiting this vulnerability, the +attackers gained unauthorised access to the networks of SolarWinds clients, +which allowed them to steal data and deploy malware. + +This incident raises a question "How did such a consequential security breach +remain unnoticed for months?" and underscores the critical importance of +reproducibility in #gls("SE"). Had the SolarWinds Orion software and its +dependencies been subject to stringent reproducibility standards, where every +build could be precisely recreated and examined, the malicious alterations might +have been detected earlier. Reproducibility in this context not only refers to +the ability to replicate software builds but also to verify the integrity and +provenance of every component, ensuring that no unauthorised changes have been +made. By prioritising reproducibility, developers and users of software can +enhance security measures, mitigate risks, and foster a more trustworthy digital +environment. + +In a post from the @joinupSignal, institutions like the European Commission and +the European Parliament began recommending Signal +#cite(, form: "normal"), a secure open-source instant messaging +platform, for communications. This highlighted a broader, critical issue: the +verification of software authenticity. Users generally trust software obtained +from various stores, but this trust brings to the forefront the question of how +they can verify with certainty that the version of the Signal application +installed on their devices indeed derives directly from the source code provided +in its repository. Ensuring an application's authenticity, confirming it has not +been tampered with prior to its public release, has become a central concern in +our everyday lives. This issue underscores the importance of transparent and +reproducible builds where the end product can be reliably traced back to its +original source, ensuring the integrity and security of the software being used. + +During the OpenAI DevDay's keynote #cite(, form: "normal") +in November 2023, OpenAI's CEO Sam Altman unveiled a groundbreaking feature +called #emph[reproducible outputs]. This innovation enables users to +consistently replicate the outcomes generated by OpenAI's models, marking a +significant advancement in achieving reproducibility within the realm of +artificial intelligence. + +Software companies have increasingly recognised the importance of +reproducibility for enhancing security. Popular messaging platforms like Signal +#cite(, form: "normal") and Telegram +#cite(, form: "normal") have taken significant steps to +ensure the reproducibility of their builds. They support reproducible builds, +allowing users to verify that the open-source code matches the applications +available on various app stores, including the Apple Store and Google Play. This +initiative ensures that the distributed binaries are authentic and unaltered, +thereby protecting users from potential vulnerabilities and enhancing trust in +the software's integrity. By implementing these procedures, software companies +highlight the broader industry's move towards transparency and reliability in +software distribution, reinforcing the essential role of reproducibility in +modern #gls("SE"). + +In the light of these considerations, this master thesis addresses the +aforementioned issues and questions by delving into the principles of software +reproducibility. We will explore the mechanisms that can ensure the integrity of +software, and examine how these practices can be standardised to safeguard +against the risks of unauthorised tampering. In doing so, this thesis aims to +contribute to the critical discourse on software security and reliability in an +era where digital trust is paramount. + +== Background + +Curiosity has always been at the core of my being, fuelling an insatiable +eagerness to learn and explore the unknown. I remember myself as an inquisitive +boy, constantly delving into the mechanics of how things work. This curiosity +often led to disassembling devices to uncover their hidden secrets, followed by +a harder quest to reassemble them. While my father played a pivotal role in this +journey of discovery, and I simply cannot recall a single moment when he +responded with #emph["I don't know"] it was my mother who truly ignited my +path to computers. Her encouragement and unwavering belief in pursuing my +passions were instrumental in shaping my journey towards a deeper understanding +of the world around me, especially computers. + +My interest in computers and software development was sparked in my early +childhood, before the age of ten with the Logo language, which soon led to my +discovery of the BASIC programming language on an Atari 1040STE. The +capabilities of that machine captivated my young mind, igniting a passion for +technology and its boundless potential. This early fascination was a signpost +towards my future; it was clear that my career would be intertwined with +computers. Over the years, I witnessed the remarkable evolution of the software +industry and the advent of groundbreaking technologies. I have also observed the +progression in software development methodologies. However, despite the influx +of new technologies arising, there are certain categories of issues that remain +constant along the passing years, sadly. + +Transitioning from BASIC, I briefly jumped on Microsoft Windows before moving to +Linux, a platform that has since become my daily driver. In 2019, I found myself +grappling with a sluggish laptop running a popular Linux distribution. In search +of a faster, binary-based alternative, I transitioned to NixOS +#cite(, form: "normal"). This shift marked the beginning of a totally new +perspective on software development for me. It was through NixOS that I +encountered the concept of "reproducibility" which opened my eyes to the +possibilities of making and shipping more reliable software. + +We've seen in the previous section and will detail further in the next chapters +that this concept originates from researchers and the scientific method. This +concept can be transposed to #gls("CS") and more specifically to software +development. In this context, reproducibility is the ability to recreate the +exact same software, including the operating system, the compiler, the +libraries, and the source code, in order to obtain the same results. + +For the past three years, the principle of reproducibility has totally +revolutionised my approach to software development. This concept has captivated +me to such an extent that I now devote a significant portion of my free time to +contributing to open-source projects that emphasise reproducible builds. It is +this profound interest that has inspired me to dedicate my master's thesis to +exploring the depths and implications of reproducibility in #gls("SE"). + +Here's a non-exhausive list of projects I have contributed to: +- In the Linux NixOS operating system: + - I created around 430 pull requests #cite(, form: "normal"). + - I made around 1800 reviews #cite(, form: "normal"). + - After several months of dedicated effort, I developed a wrapper for building + reproducible Composer-based PHP applications + #cite(, form: "normal"), resolving a significant + obstacle and positioning Nix as the preferred distribution for self-hosting + PHP applications. An updated version is in preparation + #cite(, form: "normal"), which will be more + user-friendly and will provide a more comprehensive solution for PHP + developers while being at least twice faster than the previous version. + +- In the PHP #cite(, form: "normal") community: + - In Composer #cite(, form: "normal"), the PHP package manager, I + proposed a pull request enabling deterministic outputs by default + #cite(, form: "normal"). + - I advocate for reproducibility by giving talks + #cite(, form: "normal"). + - I open issues in PHP projects that are not shipping required files to enable + reproducibility, explaining the reasons why it should be included: + - In PHPUnit, the PHP testing framework + #cite(, form: "normal")\; + - In PsySH, a PHP #gls("REPL", long: false) + #cite(, form: "normal")\; + - In GrumPHP, a code quality tool + #cite(, form: "normal")\; + - In Psalm, a static analysis tool + #cite(, form: "normal")\; + - In PHPMD, a static analysis tool + #cite(, form: "normal")\; + - In PHP-CS-Fixer, a code formatter + #cite(, form: "normal")\; + - In PHP-Parallel-Lint, a code linter + #cite(, form: "normal")\; + - I initiated and participated in discussions to improve reproducibility in + the PHP source code #cite(, form: "normal"). +- In the Reproducible Builds #cite(, form: "normal") + project: + - I contributed to the website by making it reproducible + #cite(, form: "normal")\; + - I improved the documentation #cite(, form: "normal") + #cite(, form: "normal")\; + - I contributed to the monthly reports + #cite(, form: "normal")\; +- In the Typst #cite(, form: "normal") project: + - I raised awareness about the importance of reproducibility + #cite(, form: "normal")\; + - I engaged in discussions on Discord leading to improving the compilation + environment hermeticity + #cite(, form: "normal")\; +- At work, I advocate the cause of reproducibility, emphasising its critical + importance in our projects. The objective is to raise awareness amongst my + colleagues about the advantages of reproducibility, with the ultimate aim of + establishing it as a norm within our organisational software practices. As an + initial measure, I am developing proofs of concept that illustrate the + process of creating reproducible containers, embedding their #gls("SBOM") + within their metadata. Additionally, I pioneered a project focused on + generating ephemeral, reproducible, and tailor-made development environments + and user profiles #cite(, form: "normal"). Finally, I try to + provide reproducible development environments for each open-source projects + #cite(, form: "normal") we publish to foster a more transparent + and secure software development process but also to encourage contributions. +- In 2022, I participated in the #emph[Summer of Nix], a paid summer program + designed to foster learning, networking, and collaboration within the Nix + community. The program caters to both experienced Nix users and newcomers, + offering a unique opportunity to work together on a diverse range of topics. + During this event, I did a talk about how we use Nix at work + #cite(,form:"normal"). +- In a recent YouTube interview on "La Tronche En Biais" + #cite(, form: "normal") , in a live titled "SCIENCES: Une crise de + reproductibilité des études?" #cite(, form: "normal"), I + briefly discussed the reproducibility crisis in scientific studies and drew + parallels with #gls("SE"). I shared insights from my master's thesis on this + topic, particularly highlighting the challenges faced when software compiled + in one environment fails in another, highlighting broader implications for + security and consistency across different systems. I also clarified different + levels of reproducibility introduced in @ch2-r13y-levels. + +== Motivation + +The pursuit of reproducibility in #gls("SE") is driven by a +fundamental quest for precision, reliability, and trust in the digital +landscape. In an age where software pervades nearly every aspect of our personal +and professional lives, the importance of being able to reliably replicate +software builds cannot be overstated. + +At its core, software reproducibility addresses a simple yet profound question: +can we consistently recreate the same software product, with the same +functionality and performance, across different environments and over time? This +question is not just academic but is deeply rooted in practical necessities and +ethical considerations in the field of #gls("CS"), but not only. + +The principle of reproducibility is essential across various disciplines, +ranging from the empirical rigor of scientific experiments to painting or even +culinary art. This concept, at its core, is about the ability to consistently +replicate results under similar conditions. + +In cooking, recipes passed down through generations serve as blueprints for +recreating cherished family dishes. Despite meticulously following these +recipes, achieving the exact taste and texture of an ancestral meal can +sometimes be elusive. Factors like cooking temperature, ingredient quality, or +even altitude can possibly alter the outcome. This uncertainty in replicating +results underscores the complexity and nuances involved in the process of +reproducibility. + +In #gls("CS"), the implications of reproducibility take on a more systemic and +critical dimension. Imagine wanting to use or build a software application, +ensuring it is identical to what the original developer intended. For instance, +this thesis itself is a digital artefact, a #gls("PDF") document derived from +source files hosted in a public repository. A pertinent question arises: how can +one be sure that the document produced from the source code today will be +identical to one compiled a year from now? Ensuring reproducibility in such +cases is not just a matter of convenience but a cornerstone for verifying +authenticity and integrity in a digital world increasingly prone to +misinformation and security threats. + +Reproducibility in #gls("SE") lies in its potential to enhance reliability and +security. Reproducibility aims to eliminate the all-too-common refrain of +#emph["it works on my machine!"] by establishing a more robust, consistent build +and deployment process. It is about creating a development environment where +software, when operational on one machine, can be expected to be built and +function identically on another, thereby bridging gaps in consistency and +predictability. In a digital era where trust and security are paramount, +reproducibility is not merely a technical objective; it is a fundamental +criterion for building and maintaining digital trust. + +One of the driving factors behind this research is the inherent complexity +present in modern software environments. Today's software systems are built on +intricate layers of dependencies, including various libraries, frameworks, and +operating systems. This complexity poses significant challenges in ensuring +consistent behaviour of software products across different environments. +Moreover, the escalating frequency of security breaches and malicious attacks on +software supply chains underscores the critical role of reproducibility. It +serves as a vital mechanism for verifying the integrity of software, assuring +that it has not been compromised, and maintaining the transparency of the build +process. + +Furthermore, the academic and scientific rigors of #gls("CS") demand a steadfast +commitment to reproducibility. In a field where building upon previous work is +the norm, the ability to validate and replicate research findings is +indispensable. This aspect is particularly crucial in open-source software +development, which thrives on community collaboration. The open-source paradigm +hinges on the capability of developers around the world to replicate, modify, +and contribute to codebases consistently and efficiently. + +Lastly, the evolving nature of software poses its own set of challenges. +Software development is a dynamic process, with systems continually evolving and +adapting. Maintaining reproducibility ensures that earlier versions of software +can be reliably reconstructed and understood, a critical factor for long-term +maintenance, auditing, and compliance. + +Through this thesis, the aim is to shed light on the significance of software +reproducibility, exploring how it can be effectively achieved and the tools and +practices that can facilitate this goal. This exploration is not only crucial +for the technological advancement but also for upholding the principles of +reliability, security, and transparency in an increasingly software-dependent +world. + +== Goals + +In this master thesis, my primary focus will be to provide a comprehensive +overview of reproducible builds, within the sphere of software development, +acknowledging that a complete examination of every aspect of reproducibility is +beyond our scope. + +I will explore a selection of tools and methodologies that promote +reproducibility or, at least, create favorable conditions for facilitating it. +Moreover, this document is intended to enlighten and hopefully convince the +reader that the construction of reproducible software should be a fundamental +principle, not merely a secondary consideration, within the software development +lifecycle. Finally, I will delve into the rationale for adopting this +reproducibility paradigm as a standard practice in modern #gls("SE"), with +particular emphasis on security implications. + +By the conclusion of this thesis, the reader will have a comprehensive +understanding of the concept of reproducibility and how best practices can be +implemented effectively in software development projects. + +== Structure + +Organised into several chapters, this thesis systematically explore the +multifaceted nature of software reproducibility. + +- @chapter1 being this introduction, outlining the thesis's scope and + objectives. +- @chapter2 introduces the origin of the concept of reproducibility, tracing its + lineage from scientific principles. It proposes a terminology, formalisms and + its challenges. +- @chapter3 is a hands-on exploration, delving into specific real-world + examples. It will demonstrate practical applications of the concepts discussed + in previous chapters, including proof of concept implementations, concrete + case studies, and detailed analyses of real-world scenarios where + reproducibility plays a crucial role. This chapter aims to bridge theory with + practice, showing how the principles of reproducibility are applied and + sometimes challenged in real-world settings. +- The final @chapter4 synthesises the insights gained throughout the thesis. It + offers recommendations for best practices based on the research and + discussions presented. Moreover, it suggests directions for future work, + identifying areas where further research, development, and discussion are + needed to advance the field of software reproducibility. diff --git a/src/thesis/2-related-work.typ b/src/thesis/2-related-work.typ new file mode 100644 index 0000000..0f450d0 --- /dev/null +++ b/src/thesis/2-related-work.typ @@ -0,0 +1,11 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * +#import "theme/common/titlepage.typ": * +#import "theme/common/metadata.typ": * +#import "theme/disclaimer.typ": * +#import "theme/acknowledgement.typ": * +#import "theme/abstract.typ": * +#import "theme/glossary.typ": * +#import "theme/infos.typ": * + += Related work diff --git a/src/thesis/2-reproducibility.typ b/src/thesis/2-reproducibility.typ new file mode 100644 index 0000000..0730779 --- /dev/null +++ b/src/thesis/2-reproducibility.typ @@ -0,0 +1,1773 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * +#import "theme/common/titlepage.typ": * +#import "theme/common/metadata.typ": * +#import "theme/disclaimer.typ": * +#import "theme/leftblank.typ": * +#import "theme/acknowledgement.typ": * +#import "theme/abstract.typ": * +#import "theme/glossary.typ": * +#import "theme/infos.typ": * +#import "theme/definition.typ": * + +#chapterquote( + title: "Reproducibility", + ref: "chapter2", + quoteAttribution: , + quoteText: [ + Reproducibility is a minimum necessary condition for a finding to be + believable and informative. + ], +) + +== Reproducibility in Science + +#info-box(kind: "cite", footer: [@kpopper1934])[ + No serious physicist would offer for publication, as a scientific discovery, + one for whose reproduction he could give no instructions. +] + +The concept of reproducibility lies at the heart of scientific inquiry, serving +as a critical benchmark for the validation and acceptance of research findings. +It is a principle that transcends scientific disciplines, insisting that the +results of an experiment or study must be consistently replicable under +identical conditions by different researchers. This aspect of the scientific +method ensures the reliability and integrity of scientific knowledge. It +establishes a framework where hypotheses are not just tested but also subjected +to repeated verification, underpinning the trust and credibility that society +places in scientific discoveries. The journey of reproducibility, originating +from the earliest scientific endeavors, has evolved to adapt to the complexities +and nuances of modern research methodologies. This evolution mirrors the +progression of scientific thought and technology, from rudimentary experiments +to sophisticated, computer-assisted analyses. + +One can observe the glimpse of the first traces of this concept in @kpopper1934. +The concept of reproducibility is far from new and has been a cornerstone in the +sciences for centuries. It aims to explain natural phenomena in an objective and +repeatable manner. + +According to @Castillo1669, the scientific method (@scientificmethod), a +formalised and widely-adopted process for exploring observations and answering +questions, is inherently designed to be repeatable. However, this does not +guarantee that the results of all experiments conducted using the scientific +method will be reproducible. When results cannot be replicated, it raises +questions about the validity of the experiment and the credibility of the +researcher. + +#info-box[ + In the realm of scientific research, #emph[repeatable] and #emph[reproducible] + are terms often used interchangeably, yet they hold distinct meanings. + + #emph[Repeatable research] refers to the ability of a study or experiment to + yield the same results when conducted again under the same conditions with the + same materials and methods by the same researchers. It primarily focuses on + the consistency and reliability of results within the original research + context. + + On the other hand, #emph[reproducible research] emphasises the ability of an + independent researcher to attain at the same findings and conclusions using + the original study's raw data and following the same methodologies, but + possibly under different conditions and with different tools. Reproducibility + extends the validation process beyond the original researchers, ensuring that + the results hold up under scrutiny and can be reliably used as a foundation + for further study. + + Together, repeatability and reproducibility are foundational to the integrity + and advancement of scientific knowledge, allowing for a deeper trust and + understanding of research findings. +] + +While reproducibility can be considered closely aligned with the scientific +method, it is not an intrinsic part of it. The scientific method is a procedural +approach for conducting experiments, whereas reproducibility is a quality +attribute of the experimental results (@scientificmethodwithreproducibility). + +As of 2016, some of its basic terms were not standardised. This diverse +nomenclature has led to confusion, both conceptual and operational, about what +kind of confirmation is needed to trust a given scientific result. + +#grid( + columns: (1fr, 1fr), + [ + #figure( + include "../../resources/typst/scientific-method.typ", + caption: [Scientific method], + ) + ], + [ + #figure( + include "../../resources/typst/scientific-method-w-r13y.typ", + caption: [Scientific method with reproducibility], + ) + ], +) + +Reproducibility in research is a major factor that determines the uniqueness of +research studies. It means obtaining consistent results using the same data and +protocol as the original study. For example, researchers confirm the validity of +a new discovery by repeating the experiments that produced the original results. +Moreover, other researchers in the field are also able to repeat the same +experiments producing the results similar to the original. + +=== Reproducibility Levels + +According to @ESSAWY2020104753, reproducibility is organised in four levels: + +- *Repeatability*: Achieved upon obtaining consistent results using the same + input data, computational steps, methods, and code on the original + researcher’s machine. This level is normally achieved in scientific papers. +- *Runnability*: Achieved when the author of the research can obtain consistent + results using the same input data, computational steps, methods, code and + conditions of analysis on a new machine. +- *Reproducibility*: Achieved when a new researcher, not an original author of + the analysis, is able to reproduce the analysis in their own computational + environment #cite(, form: "normal"). +- *Replicability*: Achieved by obtaining consistent results across studies aimed + at answering the same scientific question, each of which has obtained its own + data #cite(, form: "normal"). Replicability also allows scientists + not involved in the original study to build from and expand on research once + they are first able to reproduce that research. + +#figure( + include "../../resources/typst/essawy-table.typ", + caption: [The four levels of reproducibility and their requirements.], + kind: "table", + supplement: [Table], +) + +#info-box[ + It's crucial to understand that these levels are interconnected and not + isolated. Achieving reproducibility level means that the criteria for both + repeatability and runnability levels have been met. +] + +@table-levels-of-reproducibility delineates four levels of reproducibility, each +with specific prerequisites. It's important to acknowledge that these levels are +organised in ascending order of difficulty to attain, starting from the simplest +to the most challenging. Consequently, progressing through these levels +necessitates an incremental investment of resources, time, and effort. + +=== Formalisation + +#definition(term: "Experiment")[ + An experiment $e$ conducted with a set of parameters and conditions $p$ where + $r(e,p)$ represents the experiment results, is #emph[reproducible] if and only + if: + + #box[ + $ + & forall e in E, forall e' in R(e), forall p in "par"(e), quad r( + e, p + ) eq r(e', p) + $ + ] + + where + - $E$ is the set of all possible experiments + - $"par"$ is a function defined as $"par": E -> cal(P)(P)$ where $cal(P)(P)$ is the + powerset of $P$, the set of all possible parameters of all possible + experiments + - $R(e)$ is a function defined as $R: E -> cal(P)(E)$ where $cal(P)(E)$ is a powerset + of $E$ that gives for each experiment $e in E$, its set of independent + replications +] + +== Reproducibility in Computer Science + +#info-box(kind: "cite", footer: [@Barba2018])[ + In their vision of reproducible research, readers should be able to rebuild + published results using the author’s underlying programs and raw data. + Implicitly, they are advocating for open code and data. +] + +As we shift our focus from general scientific domains to the realm of +#gls("CS"), the principles of reproducibility undergo a unique transformation. +In our digital era, where computations and algorithms form the backbone of +research, reproducibility challenges and solutions take on new dimensions. The +intricate interplay of software, hardware, and data in #gls("CS") demands a +re-examination and adaptation of traditional reproducibility concepts. This is +where the principles established in the broader scientific community intersect +with the specificities of computing, leading to a distinct and crucial discourse +on reproducibility in the field of #gls("CS"). + +The initial recorded use of the term #emph[reproducible research] in an academic +paper is believed to have occurred in 1992, in a presentation by +@Claerbout1992's team at Stanford, during the Society of Exploration Geophysics +conference. @Schwab2000, the same group of researchers updated their definition +of #emph[reproducibility in computationally oriented research]. + +In @Donoho2009, it is stated that reproducibility depends on open code and data. +The authors define reproducible computational research as that +#emph[ + in which all details of computations, code and data, are made conveniently + available to others. +] + +#definition( + term: "Repeatability (Same team, same experimental setup)", + name: "acm_repeatability", +)[ + The measurement can be obtained with stated precision by the same team using + the same measurement procedure, the same measuring system, under the same + operating conditions, in the same location on multiple trials. For + computational experiments, this means that a researcher can reliably repeat + her own computation. +] + +@Goodman2016 acknowledge the lack of standardisation in foundational terms like +reproducibility, replicability, reliability, robustness, and generalizability. +To address this, they suggest a new lexicon: #emph[Methods Reproducibility] to +align with the original concept of reproducibility as defined by @Claerbout1992 +and @Donoho2009, #emph[Results Reproducibility] corresponding to what @Peng2009 +refers to as replicability, and #emph[Inferential Reproducibility] to denote a +distinct category. + +#definition( + term: "Reproducibility (Different team, different experimental setup)", + name: "acm_reproducibility", +)[ + The measurement can be obtained with stated precision by a different team + using the same measurement procedure, the same measuring system, under the + same operating conditions, in the same or a different location on multiple + trials. For computational experiments, this means that an independent group + can obtain the same result using the author’s own artefacts. +] + +The term #emph[reproducibility] in the context of #gls("CS") has been refined +and explored in many subsequent works and identifying a single #emph[first] +definition can be challenging due to the evolution of the concept over times. +According to @Barba2018, who conducted a detailed article on the terminology +history, the most appropriate terminology (@acm_repeatability, +@acm_reproducibility, @acm_replicability) to describe reproducibility in the +context of #gls("CS") is the definitions derived from +@acm_artifact_review_badging[Artifact Review and Badging]. + +#definition( + term: "Replicability (Different team, same experimental setup)", + name: "acm_replicability", +)[ + The measurement can be obtained with stated precision by a different team, a + different measuring system, in a different location on multiple trials. For + computational experiments, this means that an independent group can obtain the + same result using artefacts which they develop completely independently. +] + +In the context of this document, @reproducibility is the definition of +#emph[reproducibility] that we will use when referring to the concept of +reproducibility in #gls("CS"). + +#definition(term: [Reproducibility], name: "reproducibility")[ + Reproducibility is the ability to consistently obtain identical results across + multiple runs of a computer task when using the same methods and data, + regardless of method, space and time. Note that this does not necessarily + imply that the outputs are correct or the desired outputs. +] + +#info-box(kind: "important")[ + #emph[Space] and #emph[Time] are terms borrowed from physics. In the context + of reproducibility in #gls("SE"), space refers to different systems, while + time refers to different moments in time + #cite(,form:"normal"). (more about that in + @def-deterministic-build). +] + +=== Scope + +In this master thesis, the exploration of reproducibility will focus on a +specific aspect: ensuring the reproducibility of building source code to ensure +that the resulting application works. This critical area is paramount in the +field of +#gls("SE"), where the ability to consistently recreate identical software +artefacts from a given source code under varying conditions and environments +stands as a paramount concern. The intent is not to undermine the importance of +these other facets, but rather to mainly concentrate the efforts and analysis on +the reproducibility of source code building and compilation. + +#info-box[ + We acknowledge that languages like JavaScript, PHP, Python are not compiled + but merely interpreted by their respective interpreter. Often, these scripting + languages require dependencies provided by their respective package manager as + well. Ensuring the availability of these dependencies is an integral part of + the software build process and, to some extent, corresponds to the compilation + in non-compiled languages. Consequently, in the context of this thesis, + "compiling source code" is applicable to both types of programming languages. +] + +The concept of reproducibility can be distinctly categorised into multiples +phases like: #emph[reproducibility at build time] +(@def-reproducibility-build-time) and #emph[reproducibility at run time] +(@def-reproducibility-run-time). It is important to note that these phases are +not mutually exclusive and can be combined to achieve a higher level of +reproducibility. + +#definition( + name: "def-reproducibility-build-time", + term: "Reproducibility at build time", +)[ + Reproducibility at build time refers to the ability to consistently generate + the same executable or software artefact from a given source code across + different builds on different environments, across different space and time. + This aspect is crucial in ensuring that the software compilation process is + deterministic and immune to variances in development environments, compiler + versions, or build tools. It involves a meticulous standardisation and + documentation of the build environment and dependencies to guarantee that the + same executable is produced regardless of when or where the build occurs. +] + +#definition( + name: "def-reproducibility-run-time", + term: "Reproducibility at run time", +)[ + Reproducibility at run time addresses the consistency of software behaviour + and output when the software is executed in different environments or under + varying conditions. This type of reproducibility focuses on ensuring that the + software performs identically and produces the same results regardless of the + #gls("OS"), underlying hardware, or external dependencies it interacts + with during execution. +] + +To illustrate these phases, the C source code in @montecarlo-pi.c implements the +Monte Carlo method to approximate the value of π. This is an example of +reproducibility at build time, but not at run time. + +#figure( + { + sourcefile( + file: "montecarlo-pi.c", + lang: "c", + read("../../resources/sourcecode/montecarlo-pi.c"), + ) + }, + caption: [`montecarlo-pi.c`], +) + +#figure( + { + set text(size: .9em) + shell(read("../../resources/sourcecode/montecarlo-pi-compilation.log")) + }, + caption: [ + Building the same source code multiple times always yields the same binary + executable + ], + supplement: "Terminal session", + kind: "terminal", +) + +The Monte Carlo algorithm is inherently stochastic, it uses random sampling or +probabilistic simulation as a core part of its computation. This randomness is +intrisic to the algorithm's design and purpose. + +The distinction between build time and run time reproducibility for the Monte +Carlo algorithm arises from its usage of a random source. While the algorithm +can be reliably built into a consistent binary (build time reproducibility), its +outputs can vary on different executions under the same conditions due to its +inherent randomness (lack of runtime reproducibility). This does not undermine +the validity of the algorithm but rather is a characteristic of its +probabilistic approach to problem-solving. + +#figure( + shell(read("../../resources/sourcecode/montecarlo-pi.c.log")), + caption: [ + Running the binary multiple times does not always yields the same result + ], + supplement: "Terminal session", + kind: "terminal", +) + +In practice, for certain applications, runtime reproducibility can be attained +by controlling the random number generator, specifically by setting a fixed seed +as an input parameter. + +In the next example, the source code is not reproducible at build time and we +might erroneously think that the program is reproducible at run time. + +We observed that compiling the same source code multiple times results in +different binaries. This variation occurs because the source code includes the +macros `__TIME__` and `__DATE__`, which are substituted with the current time +and date during compilation. As a result, we cannot achieve reproducibility at +build time. + +#figure( + { + sourcefile( + file: "datetime.c", + lang: "c", + read("../../resources/sourcecode/datetime.c"), + ) + }, + caption: [Sourcecode of `datetime.c`, a C program with macros], +) + +Upon executing the produced binary, the outcome appears consistent. This might +suggest that the binary is reproducible at run time, however, this assumption is +incorrect. Consider a scenario where a different user compiles the same source +code. In such a case, runtime reproducibility between the original and another +user is not assured. + +#figure( + shell(read("../../resources/sourcecode/datetime.c.log")), + caption: [ + An example of program that it neither reproducible at build time and + run time. + ], + supplement: "Terminal session", + kind: "terminal", +) + +=== Quantifying Reproducibility + +Quantifying reproducibility is traditionally viewed as a binary state: it is +either reproducible or not. However, this perspective oversimplifies the +complexity of software environments. In reality, reproducibility exists on a +spectrum, where the focus shifts from a mere #emph[yes-or-no] assessment to +evaluating the extent and conditions under which a computation is reproducible. + +#figure( + include "../../resources/typst/reproducibility-rule.typ", + caption: "Reproducibility states", +) + +We will explore this concept with Docker images as a primary example. Docker, a +popular containerization platform, uses Dockerfiles (@dockerfile-example). +Basically, a `Dockerfile` is a script with a set of instructions to build +images. These images are then used to run software in a consistent environment. +However, many images on the Docker Hub #cite(, form:"normal") present +challenges to reproducibility. The reasons vary: some Dockerfiles are not +publicly available but especially because most of them include significant +variability in their build processes, making exact replication of the images +pretty much impossible. We will consider these challenges in more detail in +@chapter4. + +#figure( + sourcefile( + file: "nodejs.dockerfile", + lang: "dockerfile", + read("../../resources/sourcecode/nodejs.dockerfile"), + ), + caption: [An example of `Dockerfile`], +) + +Determining a precise value for a Docker image's temporal reproducibility is +complex. Thus, for the purposes of this thesis, we simplify the classification +into three broad categories as outlined in @reproducibility-rule: +#emph[Not reproducible], #emph[Partially reproducible], #emph[Reproducible]. +While more nuanced classifications are possible, this simplified tripartite +model provides a sufficient basis in this thesis. + +Despite these challenges, Docker images are widely used. They remain static +between updates, creating a window during which their environment is consistent. +This period (the interval between two successive updates) can serve as an +indirect measure of reproducibility. Essentially, the longer the time between +updates, the more stable and, by extension, reproducible the image is +considered. In considering the temporal dimension of reproducibility, it is +essential to recognise that software artefacts are not unchanging entities; they +offer a predictable environment for a finite period. Imagine a scale where 0 +represents non-reproducibility and 1 indicates full reproducibility. On this +scale, the temporal reproducibility of Docker images would be positioned between +0 and 1, acknowledging the nuanced nature of this concept. + +However, this reproducibility is inherently dynamic due to the nature of +software evolution. Each update to a Docker image might introduce changes +affecting the software's behaviour, thereby impacting its reproducibility over +time. Understanding this aspect of temporal reproducibility is crucial for +managing software environments in a continuously advancing technological +landscape. + +The Docker use case can be classified under the #emph[Partially reproducible] +class. This is because, while Docker images ensure reproducibility at run time +by providing a consistent execution environment, they often fall short of +reproducibility at build time due to the variability inherent in their +Dockerfiles. This dichotomy highlights the spectrum of reproducibility, where +Docker images occupy an intermediate position. They are neither fully +reproducible (due to build-time variability) nor completely irreproducible +(thanks to their runtime stability). This categorization not only helps in +understanding the reproducibility status of Docker images but also underscores +the need for a nuanced approach to classifying software reproducibility, +acknowledging the various shades that exist between the #emph[Not reproducible] +and #emph[Reproducible] boundaries. + +=== Open Source + +#info-box(kind: "cite", footer: [@Donoho2009])[ + If everyone on a research team knows that everything they do is going to + someday be published for reproducibility, they’ll behave differently from day + one. Striving for reproducibility imposes a discipline that leads to better + work. +] + +Open Source refers to a type of software whose source code is freely available +for anyone to view, modify, and distribute. This model encourages collaborative +development and sharing, allowing users and developers to improve the software +and adapt it to their needs. + +Open-source software development, known for managing complex projects with high +quality, significantly enhances reproducibility by fostering professionalism and +transparency. Making open-source software reproducible offers numerous +advantages: it streamlines the onboarding of new contributors, improves testing +and feature implementation, ensures transparent build processes, facilitates +security audits, and quickens response times in the dependency supply chain in +case of issues. + +Reproducibility, intrinsically linked with Open Source, is fundamentally an +activity that builds trust (@barba2022definingroleopensource), making it a +leading method for ensuring software can be reliably built and verified by a +diverse global community​​. + +A direct correspondence can be established with the taxonomy of +@ESSAWY2020104753 when considering the process of building software from source +code. This process can be analogised to a scientific experiment. In this +context, the act of an individual building the source code of another developer +on their own machine mirrors the concept of #emph["Reproducibility"] as +described in @table-levels-of-reproducibility. This signifies that the software, +when compiled by different users from its source code, consistently results in +the same executable or software artefact. The transparency inherent in +open-source software is a foundational advantage. Since the source code is +publicly available, it allows researchers to scrutinise how the software +operates, understand how results are generated, and validate the reliability and +accuracy of the software. This level of openness is crucial for replicability +and trust in scientific research. + +Furthermore, open-source software promotes a culture of collaboration and +community involvement. Active communities that grow around open-source projects +contribute to the software’s continual improvement. This community-driven +development leads to the identification and resolution of bugs, thereby +enhancing the software's reliability and, consequently, the reproducibility +outcomes that depend on it. + +A key feature of open-source software is the permissive nature of its licencing, +which, depending on the specific licence, facilitates the reuse and modification +of software without legal or technical barriers. This flexibility is vital for +verifying and replicating studies, as researchers can adapt the software for +their specific needs without restrictions, though some licences may impose +certain conditions. Additionally, open-source development tools provide +excellent record-keeping capabilities, like version control systems (e.g., `git`, +Mercurial, Pijul), enabling researchers to track changes and understand the +context of each update. This aspect is essential for reproducing and validating +research findings. + +Lastly, the open source approach aligns well with the scientific values of +openness and sharing, promoting a culture that values transparency and +reproducibility in scientific inquiry. Moreover, the community-driven nature of +open-source software reduces the risk of obsolescence, ensuring that research +tools remain accessible and up-to-date for future replication efforts. + +In essence, open-source software embodies a framework that is not only conducive +to the scientific pursuit of knowledge but also reinforces the integrity and +sustainability of #gls("SE") through its emphasis on transparency, +collaboration, and adaptability. + +Open-source development, by its nature of allowing anyone to build, verify and +use software, stands out as an effective, if not the best, approach to +bolstering both confidence and safety in software systems. This widespread +participation and verification process inherent in open-source development +contributes significantly to the reliability and security of the software. + +=== Terminology + +Establishing formal definitions and terminology is crucial for aligning +researchers, practitioners, and readers on the same wavelength. By articulating +a clear and precise mathematical representation, we facilitate a universal +understanding of what it means for a computation to be reproducible. + +The following section is dedicated to constructing such a formal definitions, a +balance between the rigor required by the academic community and the clarity +needed for widespread adoption. + +==== Computation + +A computation is a process that involves the execution of algorithms or a series +of operations to obtain a result, usually performed by a computer. It can be +complex, involving multiple steps, conditions, and data manipulations +(@inputs-computation-outputs). The formal definition of computation takes into +account the computational environment variable, reflecting the specific context +where the computation occurs. + +#figure( + include "../../resources/typst/inputs-computation-outputs.typ", + caption: "Inputs, computation, outputs", +) + +In the context of #gls("CS"), defining a computation involves considering the +broader scope of activities and processes that a computer performs, extending +beyond the traditional mathematical abstraction of a function. A computation can +be understood as a sequence of steps or operations performed by a computer to +transform input data into output data. This process can involve various types of +functions, algorithms and data manipulations. Essentially, a computation can be +depicted as an abstraction involving one or multiple functions. + +Examples of computations could be: a program build, a compilation, a program +execution, a data analysis, a data transformation. + +- When source code is compiled, the input is the source code and the output is + the binary executable. +- When a program is executed, the input is the binary and the output is the + result of the program. +- When making a data analysis, the input is the raw data and the output is the + analysis. +- When evaluating a function, method, or procedure in any programming language, + the input consists of the function itself along with its parameters. The + output is the result of the function applied to these parameters, including + any potential side effects (e.g., changes in the program's state). + +#definition(term: "Computation", name: "def-computation")[ + A computation $c$ is a set of one or more functions $f:I times E → R$. + + where + - $I$ is the set of all possible arguments or inputs the computation needs + - $E$ is the set of all possible execution environments (hardware, software, + space, time) + - $R$ is the set of all possible outputs +] + +It is crucial to distinguish functions, both of which are integral in the realms +of Mathematics and #gls("CS"). In Mathematics, a function is a deterministic +construct defining a specific relationship between sets of inputs and outputs, +mapping each input to exactly one output. It acts as a fundamental building +block within computations to describe how values are transformed. In #gls("CS"), +functions are similar but can be classified as pure (@section-pure-function) or +impure (@section-impure-function), with pure functions having no side effects +and impure functions potentially affecting the state or relying on external +variables. While a function provides the rules for individual transformations +within a computation, the computation itself represents the broader and more +dynamic process of achieving a result, often involving the execution of complex +algorithms, data handling, and the application of multiple functions and +operations. + +#grid( + columns: (1fr, 1fr), + gutter: 1em, + [ + #figure( + { + set text(font: "Virgil 3 YOFF") + cetz.canvas({ + import cetz.draw: * + + rect((-3, 3), (3, -3), stroke: white) + circle((0, 0), radius: 2) + content((0, -2.25), "Functions") + content((0, -3.25), text(fill: white, "Environment")) + }) + }, + caption: [Functions in the context of Mathematics], + ) + ], + [ + #figure( + { + set text(font: "Virgil 3 YOFF") + cetz.canvas({ + import cetz.draw: * + + rect((-3, 3), (3, -3)) + circle((0, 0), radius: 2) + line((0, 2), (0, -2)) + content((1, 0), "pure") + content((-1, 0), "impure") + content((0, -2.25), "Functions") + content((0, -3.25), "Computational environment") + }) + }, + caption: [Functions in the context of #gls("CS")], + ) + ], +) + +In #gls("CS") (@functions-in-cs), a function necessitates an environment in +which it will be evaluated, effectively making, to some extent, this environment +an extra input parameter per se. This computational environment, which +encompasses the hardware (e.g., filesystem, memory, #gls("CPU", long: false)), +software (e.g., #gls("OS", long: false)) and date (e.g., the current date and +time), may influence the function's behaviour and output. Consequently, +functions in #gls("CS") are inherently designed to interact with and adapt to +their environment, thereby making them dynamic and versatile but also +potentially non-deterministic. + +Conversely, in Mathematics (@functions-in-mathematics), a function is evaluated +independently of any environment, or with the environment variable effectively +set to null, ensuring its behaviour is entirely predictable and self-contained. +This means its behaviour is entirely predictable and self-contained. This +distinction highlights the adaptability and complexity of functions in +computational contexts, compared to their more stable and defined mathematical +equivalents. + +==== Inputs and Outputs + +An input is the data provided to a computation. The output is the result of a +computation or any other changes made to the environment the computation is +being evaluated in. + +#definition(term: "inputs and outputs", name: "def-inputs-outputs")[ + The function $f: I -> R$ is a function mapping the domain input set $I$ on the + codomain output set $R$. +] + +Inputs and outputs can vary widely, ranging from user interactions and network +connections to files and directories. The nature of these inputs and outputs +significantly impacts the reproducibility of computational processes. + +Consider user interactions, such as mouse or eyes movements. These are +inherently challenging to replicate precisely due to their dynamic and +unpredictable nature. For instance, reproducing the exact trajectory of a mouse +movement is virtually impossible due to the minute variations in human actions. +However, a more reproducible approach would be to capture these interactions in +a structured format like in `eyeScrollR` (@Larigaldie2024). Recording the +coordinates of mouse movements over time in a file creates a detailed log that +can be replayed. This arbitrary method transforms a non-reproducible user +interaction into a reproducible set of data. + +For a computation to be considered reproducible, its inputs and outputs must be +storable and retrievable. Typically, the most feasible types for such storage +are files or directories, primarily due to the ubiquity and accessibility of +file systems in computing environments. Files and directories offer a stable and +widely accessible medium to store and retrieve data. + +In this thesis, the focus will be on scenarios where inputs and outputs are in +the form of files, unless specified otherwise. This assumption aligns with the +common practices in computational processes and aids in maintaining the +reproducibility of the computations discussed. + +In the context of software compilation, an output is correct when it faithfully +reflects the state of its transitive inputs. Basically, the output represents +all direct and indirect dependencies used in the build process. +"Transitive inputs" refer to not only the direct inputs (e.g., source code) but +also to the inputs of those inputs (e.g., libraries, frameworks, compilers, data +resources). + +From the point of view of the software build process as shown in +@inputs-outputs-part1, the inputs are all the source code files, configuration +files, and dependencies required to build the software. + +#figure( + include "../../resources/typst/inputs-and-outputs-part1.typ", + caption: "Inputs, computation, outputs", +) + +In @inputs-outputs-part2, the process has been refined from the perspective of +the user running the software, where the input is now composed of the program +and its parameters. This distinction is crucial as it highlights the dynamic +nature of computational processes. The user's interaction with the software, +such as providing parameters or executing commands, is integral to the inputs +and can significantly influence the output. + +#figure( + include "../../resources/typst/inputs-and-outputs-part2.typ", + caption: "The input is now composed of the program and its parameters", +) + +In @inputs-outputs-part3, the environment where the computation is evaluated is +added to the input. This environment includes the hardware, software, space, and +time in which the computation is executed. This addition further refines the +definition of inputs and outputs, emphasising the dynamic and context-dependent +nature of computational processes. + +#figure( + include "../../resources/typst/inputs-and-outputs-part3.typ", + caption: [ + The input is now composed of the program and its parameters and the + environment where it is going to be evalued. + ], +) + +We could break down the environment further. However, as we delve deeper into +segmenting the components essential for a computation, the process becomes +increasingly subjective (@hinsenKonrad2020guix). + +Reproducibility implies to compare outputs to determine if they are equivalent. +According to @Acm2018[p.5], there are multiple equivalence classes: + +#figure( + include "../../resources/typst/equivalence-classes-of-reproducibility.typ", + caption: [Classes of reproducibility], + kind: "table", + supplement: "Table", +) + +- Two natural phenomena could be observed by human experts and considered as the + same. +- Two results could be statistically equivalent, in that the numeric values are + different, but they both convey the same statistical interpretation. +- Two results could be the same data in the sense that they encode the same + numeric contents, but differ in some irrelevant detail. For example, an output + file might incidentally contain the system time and the name of the user who + ran the program. +- Two results could be equivalent, in every way, bit-per-bit. This is the + strictest form of equivalence. + +In the context of this thesis, we will assume that two results are equivalent if +they are the same, bit-per-bit. + +#info-box(kind: "important")[ + It is important to clarify that in the context of reproducibility, the time + taken to compute the output is not typically considered. This means that two + results can be deemed equivalent or reproducible even if the computational + time to achieve these results varies. For instance, consider a situation where + a piece of code is refactored: if the output data remains unchanged, the + process is considered reproducible from a data consistency perspective. + Nonetheless, even if the refactored code requires significantly more time and + resources to execute, it is still classified as reproducible as long as the + output remains consistent with the original. + + This distinction underscores that reproducibility focuses on the consistency + of the output data rather than the performance or efficiency of the + computational process. This aspect is particularly relevant in environments + where hardware or system efficiencies may differ, yet the integrity and + equivalence of the output data remain the primary concern. While this might + provoke debate regarding resource efficiency and computational time, for the + purposes of this thesis, it is assumed that the temporal and resource aspects + of computing the output are secondary to the consistency of the results + themselves. +] + +==== Evaluation of a Computation + +The evaluation of a computation is the process of determining the resulting +output of a function for a given set of arguments. It involves applying, in a +specific computational environment, the function's defined operations to the +inputs to produce an output. This does not necessarily imply that the outputs +are correct. Note that, #emph[correct] means that the evaluation has +successfully completed without errors. + +#figure( + include "../../resources/typst/inputs-and-outputs-part4.typ", + caption: [ + The evaluation of inputs into outputs where the input is composed of the + program and its parameters and the environment where it is going to be + evaluated. + ], +) + +#definition(term: "Evaluation", name: "def-evaluation")[ + $"eval": (F, I, E) -> R$ is a function that evaluates a function $f$ and its + parameters $i$ in a specific computational environment $e$ to produce a + result, an output. + + $forall f in F, forall i in I, forall e in E, quad "eval"(f,i,e) eq f(i, e)$ + + where + - $F$ is the set of all possible computations + - $I$ is the set of all possible arguments the computation needs + - $E$ is the set of all possible execution environments (hardware, software, + space, time) + - $R$ is the set of all possible outputs +] + +In the realm of mathematics, a function is typically isolated, operating solely +on its provided arguments, with no external environmental factors influencing +its output. Contrarily in #gls("CS"), it is quite common for a computation to +interact with, and be influenced by, its surrounding environment during +evaluation, which necessitates @def-evaluation. + +==== Pure Function + +As seen in @functions-in-mathematics, the concept of a #emph[pure function] as +defined in @def-pure-function does not explicitly exist in Mathematics. This is +because functions are always inherently considered to be deterministic and +side-effect free, here functions in maths are #emph[by default] pure. Any +mathematical function evaluates under the assumption that given the same inputs, +the output will always be the same, and the evaluation of the function does not +alter any external state or variable. + +#definition(term: "Pure function", name: "def-pure-function")[ + A pure function can be defined as a function where the same input always + yields to the same output. + + Let $f: I times E → R$ be a function. Then $f$ is *pure* if and only if: + + $forall i in I, forall e_1, e_2 in E, quad "eval"(f,i,e_1) eq "eval"(f,i,e_2)$ + + where + - $I$ is the set of all possible inputs arguments + - $E$ is the set of all possible execution environments (hardware, software, + space, time) + + A bridge can be drawn between the mathematical definition of a function + $f: I -> R$ and this definition by considering the environment variable $E$ as + an empty set, making the function independent of any external state or + variable. This effectively reduces the definition of a pure function in + #gls("CS") to the mathematical definition of a function. +] + +However in #gls("CS"), it makes sense to define what are pure and impure +functions because a function might behave differently depending on the +environment in which it is executed. Therefore, the purity of a function in the +context of #gls("CS") is vital for understanding and managing side effects +and state in software, it is a distinction that doesn't apply in the static, +deterministic realm of pure mathematics. + +This distinction highlights how the same term can have different implications in +different disciplines, reflecting the unique nature of challenges and concepts +in programming versus pure mathematics. However, we can still try to define such +a function in a theoretical #gls("CS") context. + +A pure function is a specific type of function in programming characterised by +the following properties: + +- Deterministic: for a given set of inputs, a pure function always returns the + same output. This means the function's output is solely determined by its input + values and does not rely on any external state or data. + +- No side effects: A pure function does not cause any observable side effects in + the system. This means it does not modify any external state, global variables, + or data outside its scope. It also does not produce outputs other than its + return value, such as printing to the console or altering the state of the + program beyond the scope of the function. + +#info-box[ + A checksum(@checksum) is an example of pure function. It will constantly + return the same output for the given output. +] + +==== Impure Function + +An impure function is the opposite of the above definition of a pure function. + +#definition(term: "Impure function", name: "def-impure-function")[ + An impure function is a function that does not always yields the same output + for a given input. This can be formally expressed as: + + Let $f: I times E → R$ be a function. Then $f$ is *impure* if and only if: + + $forall i in I, exists e_1, e_2 in E, quad "eval"(f,i,e_1) eq.not "eval"( + f,i,e_2 + )$ + + where + - $I$ is the set of all possible inputs arguments + - $E$ is the set of all possible execution environments (hardware, software, + space, time) +] + +It is a specific type of function in programming characterised by the following +properties: + +- Non-deterministic: the function can yield different outputs for the same set + of input values at different times, depending on the state of the system or + environment in which it is executed. + +- Side effects: the function performs actions that modify some state outside its + local environment or has observable interactions with the outside world. This + can include altering global variables, modifying input arguments, I/O + operations, or calling other impure functions. + +As seen in @functions-in-cs, this concept only exists in programming, as it is a +direct consequence of the mutable nature of the state in programming. In pure +mathematics, functions are conceptualised as mappings from elements of one set +(the domain) to elements of another set (the codomain), without any side effects +or external dependencies. This distinction highlights the difference between the +theoretical framework of mathematics and the practical aspects of programming, +where functions often interact with a mutable state or environment. + +Given this, we will allow ourselves to define such a function in the theoretical +context of computer science. Implying that to define such a function, an +additional parameter, which will be used to calculate the time, #emph[must] be +passed as a parameter to the function. This parameter corresponds to the `E` +parameter in @def-impure-function. + +Given this, we will allow ourselves to define such a function within the +theoretical context of #gls("CS"). + +#info-box[ + An example of an impure function is one that returns the current date and + time, as its output depends on external state and can vary with each call. +] + +==== Checksum + +Although understanding the concept of a checksum is not essential for +understanding the definitions, it is crucial to define it due to its recurring +presence in the next chapters. + +A checksum is the result of a computation. It is a one-way pure function which +takes an input of an arbitrary size and returns a string of a fixed size, +depending on the checksum algorithm in use. For example when using a `git`, each +commit ID is a checksum of the current commit's content and the previous +commit's ID. + +#figure( + include "../../resources/typst/figure-checksum.typ", + caption: "Inputs, checksum, string output", +) + +A one-way function is easy to compute but is practically impossible to reverse. +This is mostly due to the fixed size output, the number of possible inputs +(#emph[domain]) exceeds the number of possible outputs (#emph[codomain]). The +time complexity of such a function is usually linear, which means that the time +it takes to compute the checksum is proportional to the size of the input, +therefore $cal(O)(n)$. + +A checksum is a function that returns a string called #emph[hash], which is +supposedly unique for a given input. Checksum algorithms are designed to +produce a unique hash for each unique input. However, the term "supposedly +unique" is used because, in theory, it is possible for two different inputs to +produce the same hash, an occurrence known as a #emph[collision]. The ability to +find collisions undermines the security of the algorithm. There are different +types of algorithms to calculate a checksum +(e.g., #gls("MD5", long: false), #gls("SHA1", long: false), +#gls("SHA2", long: false)). Older algorithms like #gls("MD5", long: false) have +known vulnerabilities that allow collision attacks while more modern algorithms +like SHA-256 (#gls("SHA2", long: false)) are currently considered to be pretty +much impossible to crack. + +// TODO: Add bibtex ref in glossary for checksum algorithm + +While the mathematical theory allows for the possibility of collisions in +checksum hashes, the reality of their application in modern checksum algorithms +is substantially different. The sophisticated design of these algorithms +significantly reduce the likelihood of such occurrences. This ensures a high +level of trust in their effectiveness for generating distinct and reliable +representations of data, despite the theoretical potential for identical hashes +of different inputs. + + +#info-box(kind: "info")[ + Choosing an appropriate checksum algorithm is paramount due to the rapid + evolution of computational power as described by Moore's Law, which leads to + previously secure algorithms becoming vulnerable as computing capabilities + expand. + + For instance, #gls("MD5") checksums, once deemed secure for storing passwords, + are now easily compromised through brute force attacks. This underlines the + need for an adaptable approach to checksums, continually updating them to stay + ahead of advancements in computational attack strategies. According to + @courtes_2022_6581453[Notes on SHA-1, p.16], the SHA-1 algorithm family is now + approaching end of life. + + To ensure the highest level of security and adaptability to future + computational capabilities, it is advisable to use SHA-2 algorithm family such + as SHA-384 or SHA-512. These algorithms provide a longer bit length, offering + enhanced security and a lower risk of collisions, making them well-suited for + securing sensitive data in the face of evolving technological threats. +] + +==== Reproducibility + +The concept of reproducibility can be applied in many situations, this thesis +will concentrate on a particular application area, thus narrowing its scope. In +this thesis, a computation will typically refer to the process of compiling +source code into a binary file, except in cases where it is explicitly defined +differently. + +Reproducibility is a property of a computation. It is the ability to +consistently obtain identical results across multiple runs of a computation. + +#definition(term: "Reproducibility", name: "def-reproducibility")[ + Reproducibility is a property of a computation satisfying the following + condition: + + #box[ + $ + & forall c in C, forall i in I, forall e_1, e_2 in E, quad "eval"( + c, i, e_1 + ) eq "eval"(c, i, e_2) + $ + ] + + where + - $C$ is the set of all possible computations + - $I$ is the set of all possible inputs arguments + - $E$ is the set of all possible execution environments (hardware, software, + space, time) + + Once that condition is met, the computation is considered to be reproducible. +] + +The set $I$ and $E$, respectically representing the set of all possible inputs +and the hardware and software environment including the date and time, are also +considered as abstractions. In reality, these sets are complex and intricate +entities, that could potentially be composed of many interdependent components. +However, for the purpose of this definition, they are treated as atomic. + +We could consider expanding the list of arguments to achieve greater +specificity, delving deeper into the intricate details that influence +reproducibility. However, the objective here is to provide the reader with an +initial understanding of reproducibility through a formal definition. This +approach is about finding a balance between comprehensive detail and conceptual +clarity, thereby offering a foundational glimpse into the formalism that +underpins reproducible computational processes without becoming mired in +excessive complexity. + +The definition of reproducibility (@def-reproducibility) closely matches the +definition of pure function (@def-pure-function) and, inherently, mathematical +functions. However, as seen in @table-function-computation, understanding the +nuances between theoretical functions and practical computations is essential. +Theoretically, mathematical functions are conceptualised as $I -> R$, reflecting +the abstract nature of mathematics where the function's result $R$ is purely +dependent on its inputs $I$ and external factors are considered non-existent. In +the practical world, this theoretical construct is transposed through an +evaluation function (@def-evaluation). For mathematical functions, this +environment parameter is known and intentionally left empty, symbolising the +deliberate exclusion of external influences and striving to maintain the purity +of the theoretical definition. This is in contrast to practical computations in +programming, where the environment parameter $E$ is often filled with various +real-world parameters and factors, reflecting the nature of computations where +outcomes are influenced by the environment variable. + +#figure( + include "../../resources/typst/functions-vs-computations.typ", + caption: [Nuances between functions and computations], + kind: "table", + supplement: "Table", +) + +This fundamental distinction underscores the challenges of achieving +reproducibility and predictability in the practical realm, necessitating +robustness and adaptability to manage the variability and complexity of +real-world conditions. Together, these definitions provide a comprehensive +paradigm for understanding the interplay between the idealised theoretical +constructs and their practical applications, emphasising the importance of +environmental control in ensuring the computations' reproducibility. The concept +of reproducibility, a computational property, underscores the ability to +replicate results across different environments within $E$, serving as a +cornerstone for verifying and validating scientific work. + +The process of controlling the computational environment $E$ underscores a +fundamental challenge in #gls("SE"): achieving reproducibility through +environment standardisation. The environment often encompasses factors such as +hardware and software configurations, (#gls("CPU"), #gls("OS"), library +versions, and runtime conditions), which can significantly impact a function's +behaviour and output. The Monte Carlo simulation algorithm (@montecarlo-pi.c), +exemplifies this challenge: it may be reproducible at build time but can exhibit +variance at run time due to environmental factors. + +This singularity highlights the essence of reproducibility: the need to +meticulously control or normalise the environment in which computations occur. +By ensuring that ideally environment remains constant, we can more closely +approximate the behaviour of pure computations in practical software systems. +This approach does not merely aim to simplify the computational model but serves +as a strategic endeavor to minimise the unpredictability introduced by varying +environments. + +In conclusion, while the formalism of computations' purity and reproducibility +provides the basis of a theoretical framework, the practical application in +#gls("SE") involves the intricate task of environment management. It is through +this lens that we understand reproducibility not just as a characteristic of the +function itself, but as a holistic property of the entire computational +ecosystem, encompassing both the function and its operating environment. This +broader view acknowledges that while pure functions offer a paradigm for +reproducibility, achieving this in complex, real-world systems often +necessitates rigorous control and standardisation of the computational +environment which is virtually impossible to deliver. + +=== Software Security + +The concept of reproducibility is pivotal in software security for several +reasons. Reproducibility ensures that software can be consistently recreated or +regenerated from its source code, guaranteeing that the software's behaviour +remains unchanged across different builds. This consistency is crucial for +verifying the security of software systems. If a software build is reproducible, +security experts can confidently assess that the build has not been tampered +with or altered to include malicious code. This becomes increasingly important +in an era where cybersecurity threats are both sophisticated and prevalent. + +In the context of software security, reproducibility also aids in the +traceability and verification of software components. It allows for the thorough +examination and validation of all parts of the software, ensuring they are +exactly as intended and free from vulnerabilities or unauthorised alterations. +This traceability is particularly relevant in light of the executive order +14028, #emph[Improving the Nation's Cybersecurity], issued by +@Executive-Order-14028. This document underscores the importance of enhancing +cybersecurity across federal agencies and emphasises the integrity of the +software supply chain. + +The european counterpart, the #gls("CRA") by the European Union reinforces these +efforts by setting cybersecurity requirements for software. This act aims to +reduce vulnerabilities in software products, enhancing security throughout their +lifecycle. Software must come with clear information on their features and +instructions for secure installation, operation, and maintenance. This strategy +reflects a commitment to producing and using reproducible software. + +==== Software Bill Of Materials + +The #gls("SBOM") is an essential element, acting as a detailed inventory of all +the components required to build and operate a piece of software, including all +applied patches and licensing information in a structured and well-known format. + +There are multiple existing formats and standards, the most common ones are: +- #gls("SPDX", long: true): A comprehensive standard maintained by the Linux + Foundation, designed to facilitate license compliance, security, and broader + software component analysis through a detailed documentation approach, + supporting multiple formats like RDF, JSON, and YAML. It caters to a wide + range of stakeholders, including software companies, legal teams, and + open-source projects, with a particular strength in granular licensing + details. +- #gls("CycloneDX", long: false): A lightweight #gls("SBOM") standard aimed at + enhancing application security and managing software supply chain risks. It + emphasises simplicity and efficiency, supporting formats such as XML, JSON, + and ProtoBuf, and is particularly tailored towards the identification of + software components, their vulnerabilities, and risk assessments, making it a + favorite in the application security and #gls("DevSecOps") communities. + +The key differences between the #gls("SPDX") and #gls("CycloneDX") formats lie +primarily in their focus, structure, and community support. The choice between +#gls("SPDX") and #gls("CycloneDX") should be guided by an organisation's +specific needs, whether the focus is on extensive licensing compliance or +streamlined security and risk management within the software supply chain. + +==== Supply Chain + +A software application is composed of many components, each of which is +developed by different teams or organisations. These components are then +composed together into a final product, which is the software application +itself. This process is known as the +#emph[software supply chain] #cite(, form: "normal"). + +Contemporary software development leverages the concepts of composability and +reusability, preferring the integration and reuse of existing libraries over +developing new functionalities from scratch. This methodology enhances +productivity and contributes to the creation of more reliable software by +allowing each component to concentrate on executing a specific function +effectively. Nevertheless, this reliance on external components leads to the +accumulation of both direct and indirect dependencies, complicating the software +supply chain significantly. The build environments, which encompass all +necessary components and their precise versions for software compilation, become +intricate and challenging to replicate across different systems and over time. +This complexity is often described as #emph[dependency hell]. While Semantic +Versioning (@package-managers) offers a strategy to mitigate these issues, it +alone is insufficient to ensure reproducibility +#cite(, form: "normal", supplement: [p.11]). + +To illustrate this concept, the graph in +@python-runtime-dependencies-graph-with-flaw acts as a simplified #gls("SBOM") +for "My App" version `1.2.3`, highlighting its runtime dependencies essential +for the application's operation. This visualization selectively excludes the +build-time dependencies required for the application's compilation to maintain +conciseness. A vulnerability has been identified in `xz` (marked in red), a +critical runtime dependency. Consequently, this vulnerability could potentially +compromise its dependent components (marked in orange), including the +application itself, underscoring the interconnected risk within the software's +dependency graph. This scenario, while being a simplified representation, +mirrors the recent CVE-2024-3094 #cite(, form: "normal") in the +`xz` project #cite(, form: "normal"), which affected numerous software +applications and highlighted the criticality of managing software supply chain +risks. + +#figure( + include "../../resources/typst/my-app-graph-not-ok.typ", + caption: [ + Dependency graph of `my-app` version `1.2.3`, where a flaw has been detected + in `xz` dependency + ], +) + +These issues are known as #emph[supply chain attacks], a type of cyber attack +that targets vulnerabilities in the supply chain of software or hardware +products, with the aim of compromising the final product by infiltrating its +development or distribution process. This can involve tampering with the +production of components, the assembly of systems, or the delivery of software +updates, thereby infecting end users who trust these sources. One particular +aspect of supply chain attacks is that even the original authors of the software +may be unaware that their product has been compromised, as the malicious +alterations often occur downstream in the supply chain. Although not as frequent +as direct attacks on software or systems, supply chain attacks are becoming +increasingly common due to their potential for widespread impact. Gartner +predicts that by 2025, 45% of organisations worldwide will have experienced +attacks on their software supply chains, a three-fold increase from 2021 +#footnote[ + https://www.gartner.com/en/newsroom/press-releases/2022-03-07-gartner-identifies-top-security-and-risk-management-trends-for-2022 +] while Cybersecurity Ventures predicts that the global cost of software supply +chain attacks to businesses will reach nearly \$138 billion by 2031 +#footnote[https://go.snyk.io/2023-supply-chain-attacks-report.html]. +Notable examples include the #emph[Stuxnet] worm in 2010 +#cite(, form: "normal"), +the #emph[Heartbleed] bug discovered in 2014 +#cite(, form: "normal"), and the #emph[SolarWinds] breach in 2020 +#cite(, form: "normal"). These incidents highlight the +exploitation of interconnectedness and inherent trust within the supply chain, +making supply chain attacks particularly insidious and effective methods of +cyber warfare that can simultaneously affect a large number of users or +organisations. + +==== Reproducibility And Security + +Reproducibility is a fundamental aspect of software security, particularly in +the context of the software supply chain. It ensures that software can be +reliably and consistently regenerated from its source code, thereby safeguarding +against malicious alterations or tampering. This is particularly relevant in the +context of supply chain attacks, where the integrity of the software supply +chain is compromised, potentially leading to widespread security breaches. + +It is paramount to have a clear understanding that having something reproducible +doesn't mean that it is secure. It is a necessary condition but not a sufficient +one. If a compiler is flawed, it might produce reproducible builds that could +also be potentially insecure. + +#figure( + { + set text(font: "Virgil 3 YOFF") + image("../../resources/images/security-independent-builds.svg") + }, + caption: [ + The reproducible builds approach to increasing trust in executables built by + untrusted third parties. + ], +) + +In @security-independent-builds inspired from @abs-2104-06020, end-users should +disregard the binary artefact supplied by their software vendor if its checksum +(`806e7...9c271`) diverges from those generated by independent third parties +(`4e14e...4c0a9`). The security of software is deemed more robust when its +reproducibility is confirmed across multiple environments. It is the consensus +among these environments that contributes to the perception of security. The +premise here is not merely the reproducibility, but the uniformity of this +reproducibility across space and time, which strengthens the trust in the +software's integrity and security. + +As cyber threats evolve, ensuring that software can be reliably and consistently +bit-per-bit reproduced from its source code becomes a cornerstone for +maintaining security integrity. Reproducibility not only facilitates the +verification of software for tampering or malicious alterations but also +strengthens trust in software systems amidst the growing complexity of cyber +threats. Therefore, integrating reproducibility into software development and +distribution processes is a crucial step towards enhancing overall cybersecurity +resilience and safeguarding against the ever-increasing sophistication of cyber +attacks. + +=== Reproducibility Utopia + +Reproducibility in #gls("SE") is often considered as an utopia. The exact +replication of a software poses a significant challenge. Thus, while striving +for reproducibility is essential, achieving absolute reproducibility is +frequently unattainable in practice. + +One of the primary impediments in achieving reproducibility lies in the +dependency on hardware architecture. Software compiled for different +architectures, such as `x86` and `ARM,` inherently produces disparate binaries. +These differences stem from the instruction sets and optimizations that are +specific to each platform, leading to divergent outputs despite using identical +source code. This variance highlights a significant reproducibility challenge, +as achieving bitwise identical results across architectures is *not feasible* as +of today. + +Compilers (e.g., GCC, Rustc, #LaTeX, Typst) also play a role in software +development, transforming high-level code into machine-level instructions. +However, not all compilers operate deterministically. In this context, +non-determinism refers to the phenomenon where compilers produce different +outputs given the same input source code across different compilations. Factors +contributing to this non-determinism include variations in memory allocation, +inclusion of timestamps, and embedding of file paths in the binary output. These +variances pose challenges to achieving consistent, reproducible builds. + +#info-box[ + A compiler is essentially an application that transforms input into output. + Tools like GCC are referred to as compilers because they convert high-level + code into machine-level instructions. However, the term #emph[compiler] is not + limited to programming languages alone. For example, #LaTeX is a compiler that + transforms a `.tex` file into a `.pdf` file, rustc compiles a `.rs` file into + a binary file, and Typst compiles a `.typ` file into a `.pdf` file. Typically, + compilers convert human-readable files into machine-readable files. +] + +In @chapter3, acknowledging the reality that full reproducibility may not be +entirely achievable, we will delve deeper into these challenges by exploring the +impact of non-deterministic compilers and the strategies to mitigate these +challenges using different methods. + +== Deterministic Builds And Environments + +In this section, we will explore the concept of deterministic builds, and the +potential sources of non-determinism in software builds. + +The concept of deterministic builds is essential for ensuring reproducibility. A +build is termed #emph[deterministic] when it consistently generates identical +outputs from a given set of inputs, irrespective of the environment or time of +execution. This predictability is central to software reproducibility, yet +several sources of non-determinism frequently challenge its realisation. One +single non-deterministic component in a build process can render the entire +build non-deterministic. Therefore, it is crucial to identify and understand +these sources of non-determinism to ensure reproducibility. Many of these +sources of non-determinism are related to the environment in which the build +occurs. This environment encompasses the hardware, software, and runtime +conditions in which the build process is executed. These factors can +significantly influence the build process, thereby impacting the stability of +the output. + +#definition(term: "Deterministic build", name: "def-deterministic-build")[ + Let $B$ be a build process defined as a function: + + $B: I times E -> O$ + + where + - $I$ is the set of all possible input arguments + - $E$ is the set of all possible execution environments (hardware, software, + space, time) + + then the build B is deterministic if $I times E$ is deterministic: + + $"Determinism"(I times E) -> "Determinism"(B)$ + + where `Determinism` is a function asserting that its argument is + deterministic. +] + +According to @abs-2104-06020, a reproducible build environment is essential for +achieving deterministic and reproducible builds. It ensures consistency in the +software building process by providing a controlled and predictable set of +conditions under which the software can be built. @malka-hal-04430009[p.1] +further elaborate that a build environment is reproducible in both space and +time when it is possible to replicate the same build environment on any machine +and at any point in the past or future​​​​. + +#info-box[ + When a process exhibits a lack of reproducibility over time, it indicates a + fundamental instability within the process. While it would be technically + feasible to replicate the same output in a different environment, within the + same architecture, achieving exact temporal replication of the build process + is practically impossible. This temporal variability serves as a critical + indicator of potential difficulties in ensuring reproducibility across diverse + environments or machines. +] + +=== Sources Of Non-Determinism + +In this section we will explore the sources of non-determinism in software +builds and usage. The list is not exhaustive, it just includes the most common +sources of non-determinism. The list is created from @abs-2104-06020's paper +and information of the @ReproducibleBuildsOrg project, a website aiming at +improving reproducible builds in software development. + +==== Randomness + +Using random data in a computation is a common source of non-determinism and +must be avoided. When random data is required, the solution is to use a +predetermined value acting as a seed to the pseudo-random number generator. +Using a predetermined value as a seed ensures that the same random data is +generated each time the computation is executed, thereby guaranteeing +reproducibility. + +Hardcoding the seed in the source code would be nonsensical because it wouldn't +be random anymore, the seed should be passed as a parameter to the computation. +This parameter can be passed as a command-line argument, an environment +variable, or a configuration file, leaving the responsibility to the user to +provide a seed. + +==== Build Paths + +Build paths are paths used by the source code to locate files and resources. +Sometimes, it can happen that absolute paths are used in the source code, which +means that the build will only be reproducible on the same machine where it was +built. + +To avoid this, relative paths should be used instead of absolute paths and +sometimes post-processing is required to remove the build path or to normalize +it with a predefined value. + +==== Volatile Inputs + +Volatile inputs are inputs that can change over time. For example, the current +date and time are volatile inputs, network streams as well. Dealing with date +and time will be done in @timestamps. For network streams, the solution is to +never rely on remote data while building. Instead, the data should be downloaded +beforehand and stored locally. + +This is a common issue in the context of software compilation, where the build +process might download dependencies from the internet during the build. + +==== Package Managers + +Package managers are tools that automate the process of installing, upgrading, +configuring, and removing packages, typically from a central repository or +package registry. They are widely used in software development to manage +dependencies and facilitate the build process. For example, `Cargo` for Rust, +`Composer` for PHP, `NPM` for NodeJS, `Dune` for OCaml. They are also used to +manage software at the operating system level like: `apt` in Debian based +distributions, `pacman` in Arch Linux, `dnf` in Fedora, `brew` in MacOS, +`chocolatey` in Windows. + +Package managers can inadvertently introduce non-determinism by automatically +downloading or updating dependencies to their latest versions. This process can +lead to inconsistencies, particularly when a newer version of a package includes +changes that are incompatible with the project's codebase. To mitigate this, the +#gls("SemVer") scheme is widely adopted, offering a structured version naming +convention that aids dependency management. However, while packages may declare +#gls("SemVer") compliance, adherence levels vary, with some strictly following +#gls("SemVer") principles and others adopting them more leniently +#cite(, form: "normal", supplement: [p.5]). Notably, there has been a +trend towards increasing adoption and stricter adherence to #gls("SemVer") +principles by package managers over time +#cite(, form: "normal", supplement: [p.13]). It provides a structured +version naming convention designed to convey the nature of changes between +releases, thereby aiding in the management of dependencies with a syntax that +succinctly specifies version constraints. While this mechanism greatly +facilitates dependency resolution by leveraging a minimalistic syntax, it +inherently permits variability over time, potentially compromising +reproducibility. + +#figure( + sourcefile( + file: "composer.json", + lang: "json", + read("../../resources/sourcecode/composer.json"), + ), + caption: [A `composer.json` file, used by the PHP package manager, Composer], +) + +In @composer-json, the dependency `foo/http` is specified with version `^1`, +where the caret symbol (`^`) indicates that Composer should install the latest +minor version within the major version `1`. In contrast, the dependency +`foo/bar` is locked to version `1.2.3`, signalling that Composer must install +that specific version, regardless of newer releases. This distinction +underscores the importance of using package managers judiciously to achieve +determinism. For Composer, determinism is further ensured by including a +`composer.lock` file in the project, which explicitly pins each dependency to a +particular version, thus facilitating reproducibility. The decision to require +this file varies by project and is not in the scope this master thesis. + +Ensuring reproducibility in the context of package managers is particularly +challenging due to the amount of different ecosystems and the lack of +standardisation. For example, in the Python realm#footnote[ + https://linuxfr.org/news/l-installation-et-la-distribution-de-paquets-python-1-4 +], there have been and there are still multiple package manager ecosystems: +`distutils`, `setuptools`, `pip`, `pypi`, `venv`, `conda`, `anaconda`, `poetry`, +`hatch`, `rye`. Each of these has its own configuration file format, which can +be used to specify the version of each dependency. However, there is no +standardisation which makes it difficult to ensure reproducibility. The same +issue applies to operating system's package managers. For example, in Debian +based distributions, there are multiple package managers: `apt`, `aptitude`, +`dpkg`. + +The solution would be to use a universal package manager that would work for all +Linux distributions and programming languages. This is what tools like +`AppImage`, `snap` and `flatpak` are trying to solve, only at the level of the +operating system. These tools are partially fixing the issue by just being +available only for installing package at the operating system level. + +These tools, while being a step in the right direction, are also coming with +their own set of issues, like the lack of standardisation between them, the lack +of adoption and the lack of support from major distributions. + +There are also package managers like `Nix` and `Guix` that are trying to solve +the issue by being universal. They provide a way to build and install packages +in a sandboxed environment, which means that packages are isolated from the rest +of the system at build time. This is a great way to ensure reproducibility, we +will discover them in @chapter4 + +==== Version Information + +Version information like commit identifiers can be used to precisely identify +the source code used to build a program. + +#figure( + shell(read("../../resources/sourcecode/listing-typst-version.log")), + caption: [Example of program including a commit ID], +) + +As illustrated in @listing-typst-version, incorporating specific version +information, such as a commit ID, helps reproduce a build by facilitating the +retrieval of an identical source code version. Nevertheless, the efficacy of +commit IDs as reproducibility anchors remains debatable. These identifiers may +frequently be unavailable at the time of build. It is essential to recognize +that `git`, a distributed version control system designed to handle everything +from small to very large projects with speed and efficiency, metadata, including +commit IDs, is not an intrinsic element of the source code. Instead, it is part +of the version control system in use. `git` allows multiple developers to work +together on the same project simultaneously, providing a robust system for +tracking changes, version history, and collaboration. However, the potential for +easy substitution of one version control system for another renders reliance on +such ephemeral metadata a precarious foundation for software reproducibility. + +In scenarios where a version number is necessary, it can be derived from a +dedicated file, such as a changelog or eventually provided through an +environment variable. This approach decouples the versioning process from the +underlying version control system, potentially offering a more stable and +reliable method for software version identification. + +==== File Order + +It is important to ensure that processing multiple files in a stable order +remains stable. + +Listing files relies on the low-level #gls("POSIX", long: false) call `readdir`, which itself is +dependent on the filesystem in use and therefore doesn't guarantee any +consistent ordering. + +#info-box(kind: "info")[ + According to @LibCManual[p.415]: The order in which files appear in a + directory tends to be fairly random. A more useful program would sort the + entries before printing them. + + In @tlpi[p.354]: The filenames returned by `readdir()` are not in sorted + order, but rather in the order in which they happen to occur in the directory. + This depends on the order in which the file system adds files to the directory + and how it fills gaps in the directory list after files are removed. +] + +There are numerous situations where relying on an existing list of files can +result in non-determinism. For instance, when generating an archive from the +contents of a directory, many file systems do not provide consistent ordering +when listing files within that directory. Consequently, the arrangement of files +in the archive may differ between builds, causing unpredictable archives. +Although these archives might contain identical content, they could have been +compressed with varying file orders. + +To address this, one could enforce a stable order by explicitly sorting the +inputs before processing them. This can be done by sorting the list of files in +the directory based on a specific criterion, such as their names or modification +timestamps. + +#figure( + shell(read("../../resources/sourcecode/tar-sort-name-flag.log")), + caption: [ + Use of `--sort=name` flag to ensure a stable order of files in an archive + ], +) + +==== Timestamps + +Timestamps are among the biggest sources of non-determinism in software builds, +as they can lead to differences due to changing times between builds. Since +reproducibility checks the content of the output and its metadata, building +multiple times some source code will create output artefacts with possibly the +same content but with different metadata, like file timestamps, making them +irreproducible. + +Often, timestamps are used to approximate which version of the source were +built. Since file timestamps are volatile, the source code needs to be tracked +more accurately than just a timestamp. Just like for version information, the +solution would be to extract the date from a dedicated file like a changelog, or +a specific commit #cite( ,form: "normal"). + +To circumvent this issue, `SOURCE_DATE_EPOCH` is a specific environment variable +convention for pinning timestamps to a specific value that has been introduced +by the `reproducible-builds.org` community and it is now widely used by many +compilers and build tools. + +Another option is to use `libfaketime`, a library that intercepts system +function calls retrieving the current time of day and replies with a predefined +date and time instead. + +When none of these options are viable, using a tool like `strip-nondeterminism` +#cite(, form: "normal") is a temporary workaround for +stripping non-deterministic information such as timestamps and filesystem +ordering from various file and archive formats. + +==== Locale Environment Variables + +#figure( + shell(read("../../resources/sourcecode/date-format-flags.log")), + caption: [Use `LC_ALL` and `-u` flags to configure the date format], +) + +`LC_ALL` is a locale environment variable that can modify various aspects of an +application's behaviour. It can change the date format, string collation order, +and character encoding. Although each parameter can be set individually, +`LC_ALL` enables you to configure them all simultaneously and override any other +locale environment variables. + +In @listing-date-format-flags, we methodically incorporate various flags, such +as `-u`, and the `LC_ALL` environment variable to the `date` command. This +approach ensures that the output we receive is predictable and consistent, +regardless of the underlying system configuration. + +=== Comparing Builds + +In the quest for software reproducibility, identifying and understanding the +differences between two builds of the same software becomes paramount, +especially when those builds are not identical. This section introduces a tool +designed specifically for this purpose. + +Developed under the umbrella of the @ReproducibleBuildsOrg effort, `diffoscope` +#cite(, form:"normal") is a comprehensive, open-source tool that +excels in comparing files and directories. Its unique capability to recursively +unpack archives of various types and transform binary formats into a +human-readable form makes it an indispensable tool for software comparison. It +seeks to simplify the process of identifying discrepancies between software +builds. This functionality is crucial for developers and researchers striving to +pinpoint and resolve the causes of non-reproducibility. An online version of the +tool is also available#footnote[https://try.diffoscope.org/]. + +To demonstrate the effectiveness of `diffoscope` in identifying differences +between non-reproducible builds, @bash-gcc-not-reproducible-builds considers +the hypothetical example of a simple program that outputs the current date and +time. Due to its nature, compiling this program twice, even with the same source +code, will inherently produce two different builds. + +First, we compile the sourcecode twice, creating `build1` and `build2`: + +#figure( + shell( + read("../../resources/sourcecode/bash/bash-gcc-not-reproducible-builds.log"), + ), + caption: [ + Compilation of non-reproducible programs and the use of their checksums for + comparison + ], +) + +Then, we use `diffoscope` to compare these builds: + +#figure( + shell(read("../../resources/sourcecode/bash/bash-diffoscope-comparison.log")), +) + +The tool will generate a detailed report (@diffoscope-report) highlighting the +differences between `build1` and `build2`. In this hypothetical example, +differences might include timestamps or other build-specific metadata embedded +within the binary. + +#figure( + { + image("../../resources/images/diffoscope-report.svg") + }, + caption: [A `diffoscope` report using HTML format], +) + +=== Fixing Builds + +In this subsection, we delve into strategies for addressing non-reproducible +builds, acknowledging the vast array of potential causes and the impossibility +of covering every solution comprehensively. + +Previously in @bash-gcc-not-reproducible-builds, we encountered an issue, where +compiling the sourcecode (@datetime.c) twice resulted in different binaries. +Using `diffoscope`, we identified, as shown in @diffoscope-report, the source of +variability as date and time strings embedded within the binaries. + +A solution has been proposed in @timestamps, we can leverage the +`SOURCE_DATE_EPOCH` environment variable to address this specific challenge in +achieving reproducible builds. This approach standardises the date and time used +during the build process, ensuring consistency across compilations and thus +contributing to reproducibility. + +#figure( + shell(read("../../resources/sourcecode/bash/bash-fixing-builds.log")), + caption: [Fix builds using an environment variable], +) + +== Conclusion + +This chapter embarked upon a detailed journey through the landscape of +reproducibility, focusing particularly on its pivotal role within the realms of +science and, more specifically, #gls("CS") and #gls("SE"). Through rigorous +analysis, we unveiled the multifaceted nature of reproducibility. + +We dissected the concept of reproducibility, from its foundational elements in +science to its intricate implications in computer science, delineating the +essential terminology that frames our discussion: computations, pure and impure +functions, inputs, outputs, and the environmental variables that intertwine to +influence reproducibility. The exploration into deterministic builds and the +sources of non-determinism not only highlights the inherent challenges but also +sets the stage for the subsequent focus on the tools and methodologies designed +to tame these complexities. + +As we pivot toward the next chapter, our narrative will transition from the +theoretical underpinnings to the practical arsenal at our disposal for enhancing +reproducibility in #gls("SE"). While the groundwork laid in this chapter paves +the way for an in-depth exploration, it is important to acknowledge the vast +landscape of tools and methodologies available in this domain. Given the scope +of this thesis, we will focus on four evaluation methods using three key tools, +with the understanding that this selection is not exhaustive but rather +representative of the broader ecosystem. Through the lens of real-world +applications and case studies, we will explore how these chosen tools are used +to mitigate the challenges identified herein and to foster an ecosystem where +reproducible research and development are not merely aspirational goals but +operational norms. + +In fine, this chapter serve as both a foundation and a bridge. It offers a +comprehensive understanding of reproducibility that is critical for appreciating +the significance of the solutions and methodologies discussed in the chapters +that follow. It is within this framework that we continue our quest to demystify +reproducibility, moving from conceptuals clarity to practical application, with +the ultimate aim of enhancing the reliability, security, and transparency of +#gls("SE") practices. diff --git a/src/thesis/3-tools.typ b/src/thesis/3-tools.typ new file mode 100644 index 0000000..d526404 --- /dev/null +++ b/src/thesis/3-tools.typ @@ -0,0 +1,1023 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * +#import "theme/common/titlepage.typ": * +#import "theme/common/metadata.typ": * +#import "theme/disclaimer.typ": * +#import "theme/leftblank.typ": * +#import "theme/acknowledgement.typ": * +#import "theme/abstract.typ": * +#import "theme/glossary.typ": * +#import "theme/infos.typ": * +#import "theme/definition.typ": * + +#chapterquote( + title: "Software evaluation", + ref: "chapter3", + quoteAttribution: , + quoteText: [ + Any sufficiently advanced technology is indistinguishable from magic. + ], +) + +This chapter explores the pivotal role of tooling in achieving reproducibility +within #gls("SE"), highlighting the importance of environment consistency, +dependency management, and process isolation. + +Reproducibility in #gls("SE") is not merely a desirable attribute but a +cornerstone of trustworthy, reliable, and verifiable software development +practices. As software systems grow increasingly complex and integral to every +facet of the modern world, from critical infrastructure to personal devices, the +stakes for ensuring their reproducibility have never been higher. This chapter +introduces and examines four distinct methods for building software, each with +its unique approach: + +- Bare compilation + + It is the most rudimentary method, depends on the operating system's compilers + and libraries for software construction. + +- Compilation with Docker + + Using containerization technology, encapsulates not just the software and its + dependencies but also the entire runtime environment. + +- Compilation with Nix + + Nix uses a unique store for packages built in isolation, each with a unique + identifier that includes dependencies, preventing conflicts and ensuring + reproducible environments. + +- Compilation with Guix + + Inspired by Nix, Guix offers a transactional package management system that + isolates dependencies to ensure consistent and reproducible software + environments through specific version-linked profiles. + +The four evaluation methods chosen for detailed evaluation in the context of +reproducibility represent a wide range of approaches to managing software build +environments, each addressing different aspects of reproducibility. Bare +compilation was selected to provide a baseline, demonstrating the fundamental +challenges encountered without the aid of advanced tooling, such as +environmental inconsistencies and dependency conflicts. This method serves as a +contrast to the more sophisticated techniques that follow. Docker is included +for its widespread adoption and popularity, as well as its approach to +encapsulating the runtime environment, which significantly mitigates issues +arising from system variability. Guix and Nix are examined due to their unique +approach to dependency management and environment isolation, employing a package +management approach that is based on the functional paradigm +(@def-functional-package-management) to ensure exact reproducibility of +environments across different systems. The chapter aims to cover a spectrum from +the most basic to the most advanced strategies. + +#definition( + term: "Functional package management", + name: "def-functional-package-management", +)[ + From @10-1007-978-3-319-27308-2_47, functional package management is a + discipline that transcribes the functional programming paradigm to software + deployment: build and installation processes are viewed as pure functions + (@def-pure-function) in the mathematical sense whose result depends + exclusively on the inputs (@def-inputs-outputs), and their result is a value + that is, an immutable directory. +] + +This chapter aims to provide readers with an understanding of how these +contribute to the broader goal of reproducible #gls("SE"). Through a detailed +exploration of each approach, readers will gain insight into the strengths, +weaknesses, and applicability of Bare compilation, Docker, Guix and Nix in +various software development scenarios. + +== Methodology + +Our primary objective is to assess the reproducibility of a software build using +four different methods: Bare compilation, Docker, Guix, and Nix. By compiling a +C program (@datetime.c) with each tool, we can evaluate reproducibility both +over space and time (@reproducibility). + +The study uses a quantitative research design, focusing on the comparison of +binary files generated from compiling identical source code with different +methods, on the same environment. This approach allows for an empirical +assessment of reproducibility challenges inherent to each compilation +tool and environment. + +=== Evaluation Criteria + +We will consider three primary criteria. + +Firstly, *reproducibility in time* assesses whether the outputs of builds are +identical across repeated compilations in the same environment. This criterion +involves compiling the same source code twice with a few seconds of interval +between compilations. By comparing the outputs of these compilations, we can +determine if the build process produces consistent results over time. + +Secondly, *reproducibility in space* focuses on the consistency of build outputs +across different environments. To evaluate this, the same source code is +compiled in various environments. This process helps to ensure that the software +build process is not dependent on specific environmental factors and can produce +identical outputs regardless of where it is compiled. + +Lastly, the *reproducibility of the build environment* evaluates the stability +and consistency of the environment itself, including the dependencies required +for building the output. This criterion ensures that the environment, which +encompasses all necessary tools and libraries, remains stable and consistent +across different instances and setups. + +=== Tools And Technologies + +The evaluation of reproducibility tools in this study encompasses several +approaches to software compilation and package management, each with its unique +methodology. + +In @ch3-tool1, the bare compilation method involves direct compilation on the +host system without the use of containerization or package management tools.This +approach relies on the default tools and libraries installed in the operating +system, providing a straightforward but less controlled environment for building +software. This method is assessed to understand the baseline reproducibility and +potential variability introduced by the host system's native environment. + +In @ch3-tool2, Docker is used to provide a containerized environment for +software compilation. Using Docker containers ensures that the build process +occurs in a consistent and isolated environment, independent of the host +system's configuration. This method helps in evaluating how containerization can +enhance reproducibility by encapsulating all necessary dependencies and tools +within a controlled and replicable environment. + +In @ch3-tool3, the Guix package ecosystem is employed to manage the software +build process. Guix focuses on providing a reproducible and declarative approach +to package management, ensuring that the build environment and dependencies are +precisely defined and versioned. This approach is examined for its ability to +maintain consistency and reproducibility across different systems and +environments by leveraging Guix's robust package management features. + +In @ch3-tool4, the Nix package ecosystem is used to manage and build software. +Similar to Guix, Nix offers a declarative and reproducible package management +system, allowing for precise control over the build environment and +dependencies. The evaluation of Nix focuses on its capability to provide a +reproducible build environment that can be consistently replicated across +various systems, enhancing the reliability and stability of the software +development process. + +=== Scenarios + +Our examples and builds focus on custom-made scenarios to highlight the +differences in reproducibility across the four tools. There are multiple +scenarios being evaluated: + +In the first scenario, using @ch3-tool1, a C program is built using the host +default C compiler. The second scenario involves @ch3-tool2, where a C program +is built in a Docker container utilizing the C compiler. The third scenario, +with @ch3-tool3, involves building a C program using Guix. Finally, there are +two scenarios for @ch3-tool4: one involves building a C program using Nix legacy +(not flake), and the other uses Nix flake to build the same program. + +=== Compilation And Execution + +A trivial C program (@datetime.c) has been chosen for its straightforwardness, +allowing the focus to remain on the build process and output rather than +software complexity. + +Each method will compile the same C program (@datetime.c) twice. Detailed steps +for compilation and execution within each environment will be documented, +ensuring transparency and reproducibility of the process itself by the readers. +Each compilation's resulting output will be executed to verify functionality, +although the correctness of the execution's output will not be evaluated. + +=== Environment Setup + +To ensure the robustness and universality of our reproducibility assessment, all +test scenarios described in this chapter are executed through GitHub Actions +#cite(, form: "normal"). GitHub Actions is an automation platform +that enables #gls("CICD"), allowing builds to be performed, tested, and deployed +across various machines and architectures directly from GitHub repositories. + +Our testing environments supports three distinct architectures: + +- `x86_64-linux`: This represents the widely used Linux operating systems on + Intel and AMD processors. To ensure a thorough evaluation, two instances, each + running the different versions of Ubuntu (`20.04` and `22.04`), are employed. +- `x86_64-darwin`: Dedicated to supporting macOS on Intel processors. +- `aarch64-darwin`: Addressing the latest generation of macOS powered by the + ARM-based Apple Silicon processors. + +This selection encompasses both `x86` and `ARM` architectures, as well as Linux +and MacOS operating systems, providing a comprehensive view of reproducibility +across the most commonly used development platforms in #gls("SE"). The choice of +these architectures ensures the results are relevant to a broad spectrum of +development environments and application targets. + +Each of our scenarios is streamlined through the use of a `Makefile`. A +`Makefile` as seen in @ch3-example-makefile is a text file that contains a set +of directives used by the GNU `make` #cite(form: "normal", ) utility to +automate the build process of software projects. These directives contain +specific shell commands. + +#figure( + { + sourcefile( + file: "Makefile", + lang: "Makefile", + read("../../resources/sourcecode/example-makefile"), + ) + }, + caption: [An example of `Makefile` used in a scenario.], +) + +Each scenario's `Makefile` essentially contain four essential steps: + +- `clean`: Removes the build artefact of a build process, if any. +- `build`: Executes a build process, generating an output artefact. +- `check`: Prints the checksum of the build artefact. +- `run`: Execute the artefact + +Incorporating these `Makefile` steps into our GitHub Actions workflows not only +automates the execution of each scenario, ensuring consistency and repeatability +in our testing process, but also empowers the reader with the ability to locally +reproduce the steps outlined in this document in full transparency. This +approach facilitates and encourages the direct replication of methods and +scenarios, aligning with best practices in #gls("SE") for reproducibility, but +also extends these principles to broader scientific research practices. + +=== Output Comparison + +To compare the results, we will compare the checksums of the resulting outputs. +We exclusively use the `nix hash path` command provided by the Nix package +manager to compute the hash of a path. + +#info-box(kind: "important")[ + The `nix hash path` command is provided by Nix, a tool we will explore in this + chapter. Nix provides this command as part of its suite, but it can be applied + anywhere, not just to files within the Nix ecosystem. This command + distinguishes itself by its capacity to hash directories in addition to files. + An alternative to this approach could have been the use of a + #gls("SWHID") #cite(,form:"normal"). +] + +The `nix` command is available on systems with Nix installed. The difference +with a traditional `sha256sum` is that the former computes the hash of the path, +which includes the content and the metadata while the latter computes the hash +of the content only. Another advantage of using that command is its ability to +create a hash prefixed by the algorithm used, similar to #gls("SRI") +#cite(, form: "normal") hashes. + +=== Expected Outcomes + +At the opposite of the previous more theoretical chapters, this practical +chapter aims to empirically compare the differences in reproducibility +achievable with Bare compilation, Docker, Guix, and Nix. Insights into the +challenges and benefits of each method will inform best practices in #gls("SE") +for achieving reproducible builds. + +== Evaluation 1 - Bare compilation + +This method is the most rudimentary approach to software compilation, relying on +the host system's installed compilers and libraries to build software. This +build method correspond to Scenario 1, with the corresponding `Makefile` in +@ch3-makefile-scenario1, that can be executed on any system, with the commands: +`make build` to compile, `make check` to print the checksum, #raw("make run") to +run the compiled binary. As explained in @ch3-compilation-execution, we notice +that the steps are executed twice and in @ch3-tool1-build, the steps to build, +check and run the build are detailed. + +#figure( + { + sourcefile( + file: "Makefile", + lang: "Makefile", + read("../../lib/scenario-1/Makefile"), + ) + }, + caption: [`Makefile` of Scenario 1], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-1.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Terminal log of the steps to build, check and run Scenario 1], +) + +At lines 4 and 9 of @ch3-tool1-build, we notice that the `make check` step +prints two different checksums, indicating that the output of the two builds is +different at each run. As a result, this build is not reproducible. This +discrepancy in the output is likely caused by the dynamic replacement of the +`__DATE__` and `__TIME__` macros in the source code, which are replaced with the +current date and time at the moment of compilation. + +#heading(outlined: false, level: 3, "Reproducibility In Time") + +This method involves directly compiling source code on a system with only the +essential compilers and libraries available on the host. This method's primary +advantage lies in its simplicity and direct control over the build process, +allowing for a clear understanding of dependencies and compilation steps. +However, it lacks isolation from the system environment, leading to potential +#emph[it works on my machine] issues due to variations in system configurations. +Additionally, the lack of encapsulation and dependency management can lead to +difficulties in achieving consistent and reproducible builds across different +environments. This method is therefore classified as non-reproducible in time. + +#heading(outlined: false, level: 3, "Reproducibility In Space") + +This method is not reproducible in time, therefore we will consider it as not +reproducible in space either. Technically it would be possible to reproduce the +same output on another environment, but it would be practically impossible to +run the build at exactly the same time. This method is therefore classified as +non-reproducible in space. + +#heading(outlined: false, level: 3, "Reproducibility Of The Build Environment") + +The virtual machines used on Github Actions are versioned. However, the software +installed on the images are not. From one build to another, we can have +a different version of `gcc` or any other software installed on the image. +Therefore, we have absolutely no control over the build environment and it is +very complicated to reproduce the same environment on another machine. +Therefore, reproducibility of the build environment is not guaranteed. + +== Evaluation 2 - Docker + +Docker #cite(,form:"normal") has revolutionised software deployment by +encapsulating applications in containers, ensuring they run consistently across +any environment. Unlike traditional virtual machines, Docker containers are +lightweight, share the host's kernel, and bundle applications with their +dependencies, promoting the principle of #emph["build once, run anywhere"]. This +approach streamlines development, testing, and production workflows, +significantly reducing compatibility issues and, to some extent, simplifying +scalability. + +Central to Docker's appeal is its contribution to the #gls("DevOps") movement, +fostering better collaboration between development and operations teams by +eliminating the #emph["it works on my machine"] problem. Docker's ecosystem, +including the Docker Hub #cite(, form: "normal"), offers a vast +repository of container images, facilitating reuse and collaboration across the +software community. + +Docker uses the #gls("OCI") standard for its container images, ensuring +interoperability across different containerization technologies, including +@podman and @kubernetes. The #gls("OCI") specification outlines a format for +container images and a runtime environment, aiming to create a standard that +supports portability and consistency across various platforms and cloud +environments. + +Due to its popularity, Docker is a key player in modern software development, +enabling efficient, consistent, and scalable applications through +containerization, supporting agile and #gls("DevOps") practices, and +accelerating the transition from development to production. + +#figure( + sourcefile( + file: "Dockerfile", + lang: "dockerfile", + read("../../lib/scenario-2/Dockerfile"), + ), + caption: [From Scenario 2, the `dockerfile` used by Docker], +) + +This method involves creating an #gls("OCI") image, compiling @datetime.c, +through a `Dockerfile` and setting the compilation result as default command as +shown in @ch3-dockerfile. This ensures that each time the image is executed, the +compiled executable runs within the container. However, instead of printing only +the checksum of the resulting binary, the `check` step also outputs the checksum +of the image. + +#figure( + shell(read("../../resources/sourcecode/scenario-2.log")), + supplement: "Terminal session", + kind: "terminal", + caption: [Terminal log of the steps to build, check and run Scenario 2], +) + +#heading(outlined: false, level: 3, "Reproducibility In Time") + +In @ch3-docker-build, it is observed on lines 5 and 12 that building the image +twice and extracting the resulting binary produces different checksums. +Additionally, on lines 6 and 13, it is evident that the checksums of the images +are inevitably different. Consequently, this method is classified as +non-reproducible over time. + +#heading(outlined: false, level: 3, "Reproducibility In Space") + +This scenario was executed on various machines and architectures, resulting in +different binaries and images. Therefore, this method is classified as +non-reproducible in space as well. + +#heading( + outlined: false, + level: 3, + "Reproducibility Of The Build Environment", +) + +The reproducibility of build environments in Docker images, while generally +reliable in the short term, can face challenges over time. Docker images are +built on layers, often starting from base images provided by specific vendors. +These base images can receive updates that alter their contents, meaning a +`Dockerfile` that successfully built an image at one time might not produce an +identical image later due to changes in its base layers. Additionally, not +pinning specific versions of base images and external dependencies in the +`Dockerfile` can lead to inconsistencies, making the exact reproduction of a +Docker environment challenging if not managed carefully. Therefore, while Docker +simplifies the consistency of deployment environments, ensuring long-term exact +reproducibility requires careful management of image sources and dependencies. + +Docker is intrinsically designed to facilitate reproducible builds, with the +capability to generate identical containers across multiple executions. However, +the challenge to reproducibility arises not from Docker's fundamental features +but from the use of specific base images within Docker containers. A significant +illustration of this problem is shown in @ch3-docker-build, where rebuilding the +image results in different containers even though the base image version has +been pinned to a specific commit at lines 1 and 7. + +#info-box(kind: "info")[ + "Pinning" refers to the practice of specifying exact versions of software, + base images, or dependencies to use when building a Docker container. This + practice helps ensure that the build environment remains consistent and + predictable over time, despite updates or changes to those dependencies. + Pinning is crucial for maintaining consistency as it prevents the build + environment from changing unexpectedly due to updates in dependencies. It also + enhances reproducibility, allowing developers to recreate the same environment + at a later date, which is vital for debugging and development. Moreover, it + enhances reliability by reducing the likelihood of encountering unexpected + issues or conflicts caused by differing versions of dependencies. + + For example, specifying `FROM alpine:3.19.1` in a `Dockerfile` instead of + `FROM alpine` ensures that the Alpine 3.19.1 version is always used, providing + stability. This mechanism applies similarly across different programming + language ecosystems. However, it is important to note that version tags, like + `3.19.1`, can be replaced or updated by the maintainers, potentially altering + the contents associated with a #emph[pinned] version. + + To overcome this, the use of digests or checksums (@checksum) can anchor + images to a specific snapshot, offering a stronger guarantee of immutability. + For instance, specifying + `FROM alpine@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b` + as shown in @ch3-dockerfile ensures that exactly the same image is used + consistently, regardless of any updates. +] + +Docker's containerization technology offers a way to create consistent software +environments across various systems by encapsulating both the software and its +dependencies within containers. This encapsulation aids in ensuring a uniform +deployment process. However, the approach's reliance on base images and the +package managers they use brings forth challenges in maintaining +reproducibility. This is primarily because base images might not be strictly +version-controlled, and the package managers used within these images can result +in the installation of varying dependency versions over time. + +For example, traditional package managers like `apt` (used in Debian-based +#glspl("OS")) or `yum` (used in RedHat-based #glspl("OS")) do not +inherently guarantee the installation of the exact same version of a software +package across space and time. Typically, this variability stems from updates in +the package repositories, where an `apt-get install` command might fetch a newer +version of a library than was originally used. Such updates could potentially +introduce unexpected behaviour or incompatibilities. + +Docker and similar containerization technologies act as sophisticated +assemblers, piecing together the diverse components required to create a +container. This process, while streamlined and efficient, is not immune to the +introduction of variability at any stage of the assembly line. Whether due to +updates in base images, fluctuations in package versions, or differences in +underlying infrastructure, these variables can compromise the reproducibility of +the resulting container (@def-deterministic-build). Recognising this, it becomes +crucial for developers and researchers to approach container creation with a +keen awareness of these potential pitfalls. By meticulously managing base +images, employing reliable package managers, and adhering to best practices in +`Dockerfile` construction, one can mitigate the risks of variability and move +closer to achieving true reproducibility in containerised environments. + +== Evaluation 3 - Guix + +@guixwebsite is an advanced package manager, designed to provide reproducible, +user-controlled, and transparent package management. It leverages functional +programming concepts to ensure reproducibility and reliability, using the GNU +Guile #cite(, form:"normal") programming language for its core daemon, +package definitions and system configurations (@courtes2013functional). + +Central to Guix's philosophy is the concept of reproducible builds and +environments. This ensures that software can be built in a deterministic manner, +enabling exact replication of software environments at any point in space and +time. Guix achieves this by capturing all dependencies, including the toolchain +and libraries, in a way that they can be precisely recreated. It supports +transactional package upgrades and rollbacks, making system modifications +risk-free by allowing users to revert to previous states easily. + +Guix uses @guile, a Scheme #cite(, form:"normal") +implementation, allowing for more expressive and programmable package +definitions. This choice reflects Guix’s emphasis on customization and alignment +with the @fsfwebsite project's philosophy, rejecting proprietary blobs and +aiming for complete software freedom, which may limit hardware compatibility. +Guix’s approach can pose a high entry barrier due to its use of a +general-purpose functional programming language but offers extensive flexibility +for those familiar with Lisp-like languages. That said, users are free to extend +Guix with custom packages, free or not. + +Guix is committed to ensuring reproducibility and reliability, based on the +functional deployment model first introduced by @Dolstra2006. It assures +reproducible builds by treating software environments as immutable entities, +thereby minimising variability across different systems. Guix's approach to +software building and package management, grounded in the principles of +functional programming and transactional package upgrades, places a strong +emphasis on reproducibility. However, this functional paradigm +(@def-functional-package-management) introduces a learning curve and +necessitates a shift from traditional imperative package management methods. +Additionally, the adoption of Guix might be further complicated by the absence +of non-free software availability, marking a significant consideration for teams +considering Guix. + +#figure( + { + sourcefile( + file: "guix.scm", + lang: "Lisp", + read("../../lib/scenario-3/guix.scm"), + ) + }, + caption: [From Scenario 3, the Guix build file (`guix.scm`)], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-3.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Building the C sourcecode from the Guix build file of Scenario 3], +) + +#heading(outlined: false, level: 3, "Reproducibility In time") + +In @ch3-guix-build, we notice on lines 5 and 11 that the output hashes are the +same. This is therefore classified as reproducible in time. + +#heading(outlined: false, level: 3, "Reproducibility In Space") + +Building the program in a different environment with the same architecture +(`x86_64-linux`) resulted in identical output. Compiling the source code on +another architecture (`aarch64_darwin`) also produced consistent results, though +different from those obtained on `x86_64-linux`. Therefore, we can conclude that +the program is reproducible across different environments, #emph[modulo] the +hardware architecture. + +#heading(outlined: false, level: 3, "Reproducibility Of The Build Environment") + +The reproducibility of the build environment is heavily controlled when using +Guix. The dependencies are locked and pinned, it is simply not possible to +create a different build environment. + +== Evaluation 4 - Nix + +@nix is a revolutionary package management system that dramatically reshapes the +landscape of software construction, consumption, deployment and management. Its +distinctive methodology, grounded in the principles introduced in @Dolstra2006, +marked its inception, setting a new standard for handling software packages. +Central to Nix's core is its use of the Nix language, a domain specific +Turing-complete language that facilitates the description of software packages, +their dependencies, and the environments in which they operate. + +#info-box(ref: "def-turing-complete")[ + The term "Turing-complete" is named after the British mathematician and + logician Alan Turing, who introduced the concept of a Turing machine as a + fundamental model of computation. A Turing-complete language is a programming + language that can simulate a Turing machine, a theoretical device that can + solve any computation that can be described algorithmically. Turing + completeness is a fundamental property of any programming language that can + perform any computation that a Turing machine can, given enough time and + memory. This property allows a language to express any algorithm or + computation, making it a powerful tool for software development. Examples of + Turing-complete languages include: Python, PHP, C++ and JavaScript. On the + other hand, non-Turing-complete languages, which are limited in their + computational capabilities, include: SQL, Regex and HTML. +] + +This language enables Nix to implement a functional deployment model, ensuring +reproducibility, reliability, and portability across different systems by +treating packages as functions of their inputs, which results in deterministic +builds. + +Nix emphasises a deterministic build environment, allowing developers to specify +and isolate dependencies explicitly. This method significantly mitigates +#emph["it works on my machine"] issues by providing a high degree of control over +the build environment. Nix's strength in ensuring reproducibility comes with the +need to embrace its unique approach to system configuration and package +management, representing a paradigm shift for new users. + +#info-box(kind: "conclusion")[ + Nix essentially modifies the #gls("POSIX", long: false) standard by installing + software in unique locations rather than following the shared file structure + described by the #gls("FHS"). This seemingly minor change brings about several + advantageous properties, such as software composition, immutability, + configuration rollback, caching and reproducibility. +] + +Nix provides two principal methodologies that are not mutually exclusive: the +legacy method (\u{00B1}2006) and the relatively newer #emph[Flake] +(\u{00B1}2020) approaches. + +=== Nix legacy method + +The legacy way of using Nix involves defining a `default.nix` file that is +similar to a function definition in the Nix programming language. This file +contains a set of inputs, specifies dependencies, the build command and its +output. By default, this method does not enable pure evaluation mode, meaning +the hermeticity of the build process is not guaranteed. As a result, potential +uncontrolled side effects may occur during the build process. For instance, as +demonstrated in @ch3-default-nix at line 2, we manually enforce a very specific +version of the `pkgs` variable, a specific snapshot of the Nix package +repository that fixes the versions of all packages and libraries. Similarly to +the process outlined in @ch3-docker-build-env for Docker, this approach, known +as "dependency pinning," ensures consistency and reproducibility in the build +environment. + +#figure( + { + set text(size: .85em) + sourcefile( + file: "default.nix", + lang: "nix", + read("../../lib/scenario-4/default.nix"), + ) + }, + caption: [The Nix build file (`default.nix`) from Scenario 4], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-4.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Building the C sourcecode with Nix in Scenario 4], +) + +=== Nix Flake + +Nix #emph[Flake] introduces a structured approach to managing Nix projects, +focusing on reproducibility and ease of use. Currently in an experimental phase, +Flake is anticipated to transition to a stable feature soon due to increasing +community endorsement (@ch3-flake-vs-legacy) and the tangible reproducibility +advantages it offers. + +#figure( + image("../../resources/images/flake-vs-legacy.jpg"), + caption: [On the left, new repositories containing a `flake.nix` file, and on + the right, containing a `default.nix` file + (#link("https://x.com/DeterminateSys/status/1794394407266910626")[Determinate System]) + ], +) + +Flakes aim to simplify and enhance the Nix experience by providing an immutable, +version-controlled way to manage packages, resulting in significant improvements +in reproducibility and build isolation. Flakes manage project dependencies +through a single, top-level `flake.lock` file, which is automatically generated +to precisely pin the versions of all dependencies, including transitive ones, as +specified in the `flake.nix` file. This file ensures project consistency and +reproducibility across different environments. + +In addition to altering the Nix command-line syntax, Flakes enforce a specific +structure and entry point for Nix expressions, standardising project setup and +evaluation. They enable pure evaluation mode by default, which enhances the +purity and isolation of evaluations, making builds more consistent and reducing +side effects. For instance, making external requests during a build is not +possible with Flakes, ensuring that every dependency must be explicitly +declared. Flakes require changes to be tracked through `git`, enabling the exact +reversion of the project to be pinned in the `flake.lock` file. + +The files `flake.nix` and `flake.lock` are complementary and central to the +locking mechanism that ensures reproducibility. Together, when committed in a +project, they guarantee that every user of a Flake, regardless of when they +build or deploy the project, will use the exact same versions of dependencies, +thereby ensuring that the project is built consistently every time. However, it +is possible to have only a `flake.nix` file without a `flake.lock` file. In +such cases, having a reproducible build environment is not guaranteed since +dependencies could drift to newer versions. + +#figure( + { + sourcefile( + file: "flake.nix", + lang: "nix", + read("../../lib/scenario-5/flake.nix"), + ) + }, + caption: [The Nix Flake file (`flake.nix`) from Scenario 5], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-5.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Building the C sourcecode with Nix flake in Scenario 5], +) + +#heading(outlined: false, level: 3, "Reproducibility In Time") + +In @ch3-default-nix-build, we notice on line 5 and 11 that building twice the +sourcecode using Nix's legacy method produces the same output. In +@ch3-nix-flake-build, on line 4 and 9 we notice the same thing. +This is therefore classified as reproducible in time. + +#heading(outlined: false, level: 3, "Reproducibility In Space") + +Just like Guix, building the program in a different environment with the same +architecture (`x86_64-linux`) resulted in identical output. Compiling the source +code on another architecture (`aarch64_darwin`) also produced consistent +results, though different from those obtained on `x86_64-linux`. Therefore, we +can conclude that the program is reproducible across different environments, +#emph[modulo] the hardware architecture. + +#heading(outlined: false, level: 3, "Reproducibility Of The Build Environment") + +The reproducibility of the build environment is heavily controlled. The +dependencies are locked and pinned, it is simply not possible to +create a different build environment. + +=== Dealing With Variability + +This section will focus on how Nix deals with unstable outputs, highlighting how +they have abstracted this issue behind the scenes. The scenarios that will be +used are: + +- Scenario 6: Building an #gls("OCI") image with Nix +- Scenario 7: Compiling a Typst document tp a PDF file +- Scenario 8: Compiling a Typst document to a PDF file with Nix, showing how Nix + abstracts the issue of non-deterministic builds. +- Scenario 9: Compiling a Typst document with Nix, fixing the issue of + non-deterministic builds. + +#info-box[ + Typst #cite(, form: "normal") is an advanced markup-based typesetting + language that compiles to #gls("PDF") or #gls("SVG"). It was initiated in 2019 + at the Technical University of Berlin by Laurenz Mädje and Martin Haug. + Developed in Rust, this programmable markup language for typesetting became + the subject of their master's theses, which they wrote in 2022. After several + years of closed-source development, Typst was open-sourced and released to the + public in 2023. Despite being relatively recent and lacking a stable version, + Typst's maturity has allowed it to be used for writing this master's thesis. +] + +Building #gls("OCI") images using Docker is a common use case in the software +development process. However, the output of the build can be non-deterministic +due to the nature of the build process. In scenario 6, we will build an +#gls("OCI") image using Nix only. + +#figure( + { + sourcefile( + file: "flake.nix", + lang: "nix", + read("../../lib/scenario-6/flake.nix"), + ) + }, + caption: [ + The Nix Flake file (`flake.nix`) to build an OCI image in Scenario 6 + ], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-6.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Building an #gls("OCI") image with Nix], +) + +In @ch3-nix-flake-container-build, line 5 and 11, we notice that building twice +an #gls("OCI") image using Nix produces the same output. The Flake file in +@ch3-flake-nix-container shows that it is possible to create reproducible +#gls("OCI") containers with Nix, in a simple and declarative way. + +In scenario 7, we will compile a trivial Typst document. + +Consider the following Typst document on the left, and it's rendering on the +right: + +#grid( + columns: 2, + rows: 1, + column-gutter: 1em, + align: bottom, + figure( + { + sourcefile( + file: "hello-world.typst", + lang: "typst", + read("../../lib/scenario-7/src/hello-world.typst"), + ) + }, + caption: [Typst document], + ), + [ + #figure( + box(stroke: .6pt + luma(200), radius: 3pt)[ + #image("../../resources/images/hello-world.svg") + ], + caption: [Rendering of the Typst document], + ) ], +) + +@ch3-hello-world-typst-build-log shows that manually compiling the same document +twice yields different resulting files. + +#figure( + { + shell(read("../../resources/sourcecode/scenario-7.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Manually compiling a Typst document to a #gls("PDF") document in Scenario 7], +) + +While viewing the resulting #gls("PDF") files side by side, we notice that they +appear totally identical to @typst-hello-world-rendered. However, the checksum +of those files are different. This discrepancy is common, where the same input +can produce different outputs due to non-deterministic behaviour in the build +process. Even if the resulting outputs are identical, there can be internal +differences. Therefore, given an arbitrary build output, it is impossible to +determine if a build is valid or not. It is important to acknowledge that tools +like Guix or Nix address this issue by ensuring that the build environment only +is consistent and reproducible. In @ch3-nix-typst-flake, we will show how to +compile the same Typst document using Nix and how to eventually fix the +discrepancy. + +#figure( + { + sourcefile( + file: "flake.nix", + lang: "nix", + read("../../lib/scenario-8/flake.nix"), + ) + }, + caption: [ + The Nix `flake.nix` file to build a Typst document to a PDF in Scenario 8 + ], +) + +Compile it twice and observe the outcome: + +#figure( + { + shell(read("../../resources/sourcecode/scenario-8.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Building a Typst document in Scenario 8], +) + +At lines 4 and 7 of @ch3-hello-world-typst-build, we notice that compiling +twice a Typst document with Nix produces two different #gls("PDF") files, their +respective checksums are different. While the visual output appears identical, +the underlying files are not. At line 3 of @ch3-hellow-world-typst-rebuild, we +leverage a command with specific flags to verify if a build output is +reproducible. + +#figure( + { + shell(read("../../resources/sourcecode/scenario-8-rebuild.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Checking if a build output is reproducible], +) + +Nix will build the document once (line 2), then a second time (line 3) and then +compare the output hashes. Thanks to the `--keep-failed` argument, we inform Nix +to keep the failed builds so we can do a more introspective analysis of the +issue and try to find the root cause of the discrepancy, for example, using +`diffoscope` #cite(, form: "normal") in +@ch3-hello-world-typst-rebuild-diffoscope. + +#figure( + { + shell(read("../../resources/sourcecode/scenario-8-diffoscope.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Checking discrepancies between two builds using `diffoscope`], +) + +#figure( + image("../../resources/images/diffoscope-typst.svg"), + caption: [ + A visual comparison with `diffoscope` of two #gls("PDF") files generated + from the same Typst document + ], +) + +`diffoscope` visually compares the discrepancy between the two #gls("PDF") +files. From the report in @ch3-nix-typst-diff, the highlighted difference seems +to be the creation date metadata. Doing a quick search on @typstdoc confirms +that Typst is able to change the creation date of the output file. +@ch3-nix-typst-flake-fixed implements the trivial change at line 1: + +#figure( + { + sourcefile( + file: "hello-world.typst", + lang: "typst", + read("../../lib/scenario-9/src/hello-world.typst"), + ) + }, + caption: [On line 1, the Typst document date is now set to `none`], +) + +#figure( + { + shell(read("../../resources/sourcecode/scenario-9-rebuild.log")) + }, + supplement: "Terminal session", + kind: "terminal", + caption: [Checking if compiled Typst document is reproducible in Scenario 9], +) + +Now we notice that running the command to check if the output is reproducible +returns nothing, meaning that the output is fully reproducible. + +#info-box[ + Often, raising an issue with the upstream project is the most effective method + for informing the authors about a problem and monitoring its resolution. In + the case of Typst, an issue + #cite(form: "normal", ) was documented to + describe the problem, and in less than two weeks, it had been addressed and + resolved. Consequently, the discrepancy in @ch3-hello-world-typst-build is no + longer applicable for Typst versions newer than `0.11.0`. +] + +== Conclusion + +In this concluding section of the chapter, a summary of the reproducibility +assessment can be found in @ch3-table-conclusion. Following the table, this +section provides a detailed explanation of our categorization process, outlining +the specific criteria used for classifying. Each classification is justified +based on the results obtained from our comprehensive empirical evaluation +process. + +#figure( + include "../../resources/typst/ch3-table-conclusion.typ", + caption: [Software evaluation comparison], + kind: "table", + supplement: [Table], +) + +In evaluating the reproducibility of various tools and methodologies within, a +particular focus has been set on the bare compilation method (@ch3-tool1). This +approach, characterised by its reliance on the host operating system's installed +software for compiling source code into executable programs, presents a nuanced +challenge to reproducibility. Theoretically, bare compilation allows for a +straightforward reproduction of computational results, assuming a static and +uniform environment across different computational setups. However, the +practical application of this method exposes inherent vulnerabilities to +environmental variability. The reliance on the host's installed software means +that the exact version of compilers, libraries, and other dependencies can +significantly impact the outcome of the compilation process. These elements are +seldom identical across different systems or even over time on the same system, +given updates and changes to the software environment. Consequently, the +reproducibility promised by Bare compilation is compromised by these external +variables, which are often not documented with sufficient rigor or are outside +the user's control. Acknowledging these challenges, we categorise the bare +compilation (@ch3-tool1) as non-reproducible by default, reflecting a practical +assessment rather than a theoretical limitation. The classification underscores +the significant effort required to document and manage the dependencies on the +host's software to achieve a reproducible build process. This perspective is +supported by the literature #cite(, form: "normal"), which advocates +for standardising and simplifying the management of computational research +artefacts. The classification of the method 1 (@ch3-tool1) as *non-reproducible* +is a pragmatic acknowledgment of the difficulties presented by the dependency on +the computational environment. + +Docker and similar containerization technologies (@ch3-tool2) can facilitate +reproducible environments. The reason is that while they provide a high degree +of isolation from the host system, they are still subject to variability due to +the base images and package managers used within the containers. This +variability, however, can be effectively managed with low effort. By +meticulously selecting and managing base images and dependencies, it is indeed +feasible to elevate Docker from partially to fully reproducible. For these +reasons, they are categorised as *partially reproducible*. + +Nix (@ch3-tool3) and Guix (@ch3-tool4) provide a high level of control over +the build environment and dependencies, facilitating deterministic and +reproducible builds across different systems. By capturing all dependencies and +environment specifics in a declarative manner, Nix and Guix offer a reliable and +transparent approach to software development. The functional deployment model +implemented by Guix, Nix and their forks (like @lix), along with their +transactional package upgrades and rollbacks, further enhances reproducibility +by enabling exact replication of software environments within the same +architecture at any point in space and time.Under the hood, they introduces a +novel approach to addressing the challenges of reproducibility. By using a very +specific storage model, they ensures that the resulting output directory is +determined by the hash of all inputs. This model, while not guaranteeing bitwise +identical binaries across all scenarios, especially across different hardware +architectures, ensures that the process and environment for building the +software are reproducible. Nix and Guix's model represents a significant step +forward in mitigating reproducibility challenges within #gls("SE"). By ensuring +that every build can be traced back to its exact dependencies and build +environment, it enhances the reliability of software deployments. This approach +is particularly beneficial in #gls("CICD") pipelines, where consistency and +reliability are paramount. Achieving reproducibility in #gls("SE") is filled +with challenges, from architecture dependencies to non-determinism in compilers. +These solutions offers a compelling solution by ensuring reproducible build +environments. The exploration of the concepts used in Guix and Nix, and its +methodologies provides valuable insights into the complexities of software +reproducibility and the necessity for continued research and development in this +field. They both are categorised as *reproducible*. diff --git a/src/thesis/4-conclusion.typ b/src/thesis/4-conclusion.typ new file mode 100644 index 0000000..5bf93d4 --- /dev/null +++ b/src/thesis/4-conclusion.typ @@ -0,0 +1,672 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * +#import "theme/common/titlepage.typ": * +#import "theme/common/metadata.typ": * +#import "theme/disclaimer.typ": * +#import "theme/leftblank.typ": * +#import "theme/acknowledgement.typ": * +#import "theme/abstract.typ": * +#import "theme/glossary.typ": * +#import "theme/infos.typ": * + +#chapterquote( + title: "Conclusion", + ref: "chapter4", + quoteAttribution: , + quoteText: [ + Reproducibility has the potential to serve as a minimum standard for judging + scientific claims when full independent replication of a study is not + possible + ], +) + +== Summary + +This thesis embarked on an in-depth exploration of reproducibility in +#gls("SE"), motivated by the growing necessity for reliable and repeatable +results in research and software development. In this chapter, we summarise our +findings and discuss the implications of our research. We also suggest future +work that could be done to improve reproducibility. + +In the introductory @chapter1, I provided an overview of my personal journey and +the experiences that have led me to pursue this specific area within #gls("SE"). +This chapter offered readers contextual information about my background, +especially highlighting my active involvement in open-source communities and my +dedicated advocacy for the adoption of reproducibility tools and practices. I +delved into my motivations for choosing this topic, underscoring the critical +importance of reproducibility in #gls("SE"). The relevance of establishing +reliable and repeatable processes to enhance the integrity of software products +and to foster a culture of transparency and collaboration. To guide the reader +through the thesis, I recall the goals and a structured overview of the +document, chapter by chapter. + +In @chapter2, the theoretical foundations of reproducibility were explored, +tracing its origins from classical scientific disciplines where it has long been +a cornerstone for validating experimental findings and theories. The chapter +began with a historical overview, highlighting how reproducibility emerged as a +fundamental principle in the natural sciences and the shifts it has undergone +with the advent of the digital era. Following this introduction, a comprehensive +set of concepts central to understanding reproducibility in #gls("SE") was +presented. Formal definitions for key terms were introduced, establishing a +rigorous and foundational basis for subsequent developments. The narrative then +extended into the realms of open source and software security, pivotal areas +where reproducibility intersects with broader concerns. Open source software, +with its ethos of transparency and collaboration, enhances reproducibility by +making the source code readily available. This transparency facilitates the +verification of software builds and improves security. With the source code +accessible and inputs correctly declared, it allows for immediate identification +of dependencies and quicker identification of vulnerabilities. The focus shifted +to the specific challenges that software engineers and researchers face in +achieving reproducible builds. This discussion delved into obstacles such as +non-deterministic build processes, variability of environments, and the lack of, +to some extent, standard practices for documenting and sharing the necessary +details to replicate software builds. By examining these challenges, the +groundwork was laid for identifying effective strategies to address them. +Lastly, it introduced third-party tools designed to compare build outputs. + +In @chapter3, I systematically explored and assessed different tools and +strategies used to build software with an emphasis on their potential to +facilitate reproducible results. The chapter presented a comprehensive analysis +of four distinct strategies: Bare compilation, Docker, Guix, and Nix. Each +strategy was evaluated through multiple objective criteria. This approach allows +for a balanced assessment of each method, providing insights into how well they +help in achieving reproducible builds. For Bare compilation, the focus was on +the traditional approach of building software directly on the system without +containerization or virtual environments, highlighting its limitations and +potential issues in reproducibility. Next, Docker was evaluated as a popular +containerization technology that encapsulates the software environment, aiming +to enhance reproducibility by isolating dependencies. Following Docker, I +examined Guix and Nix, two functional package managers that offer more granular +control over environment configurations. The chapter concluded with a +comparative analysis that ranked these strategies according to their +reproducibility potential. This evaluation serves as a resource for developers +making decisions about which tools and strategies to implement in their projects +to enhance reproducibility. + +In the remaining sections of this conclusion chapter, we will summarise the key +findings and the broader implications of my research. Additionally, I will +expand the discussion by exploring other facets of reproducibility. Finally, I +propose future research directions aimed at enhancing reproducibility. + +== Evaluation Of Tools + +@chapter3 was dedicated to evaluating different tools and strategies for +building software with an emphasis on their potential to facilitate reproducible +results. + +Bare compilation is the traditional approach to building software directly on +the system without containerization or virtual environments. This method offers +minimal isolation and control over the build environment, making it challenging +to achieve reproducibility. However, it is still widely used in practice due to +its simplicity and familiarity, usually with the underlying operating system +ecosystem. Debian based Linux distributions are a common choice for this method +due to their extensive package repositories and long-term support, therefore, +the usage of the package manager `apt` became a standard practice for installing +dependencies when one is missing. This imperative method for installing missing +dependencies can lead to non-reproducible builds due to the lack of version +pinning. The `apt` package manager does not provide snapshots where all the +dependencies are frozen at a given state, which makes it challenging to +reproduce the exact build environment. However, it has the advantage of being +popular and widely supported. + +Using Docker for building software is a popular choice due to its increasing +popularity and the ease of creating shareable containers through Docker Hub +#cite(, form: "normal"). However, sharing a container as a single +#gls("OCI") file requires a bit more work and is not as straightforward as +sharing a Docker image on their dedicated platform Docker Hub. In a way, thanks +to Docker, users have been introduced to the concept of containerization, +immutability, and to some extent, reproducibility. + +While discussing Docker with people, I noticed a common misconception about +reproducibility that is worth noting. To illustrate this, let's consider a +project shipping builds of their open-source software through Docker images. At +each release, they publish a new version of their image. These Docker images are +immutable, and users can use and reuse them at will. However, it is simply +impossible to reproduce those images themselves from the sources. While this +illustrates the Docker leitmotif #emph["build once, use everywhere"], it does +not demonstrate true reproducibility. The essence of reproducibility lies in our +ability to recreate identical copies of these images from the sources on any +machine. If something can be reproduced multiple times but yields different +results each time, it is not truly reproducible. Similarly, if something is +produced only once and is not meant to be reproduced, it is, to some extent, +also not reproducible. + +#info-box[ + In #emph[declarative configuration management] + #cite(,form:"normal"), tools such as Docker, Kubernetes + #cite(,form: "normal"), and Terraform + #cite(,form: "normal") are used to specify the desired end state + of the system rather than the steps to achieve it. For example, a `Dockerfile` + describes the final environment for a container, ensuring that the system + matches predefined specifications. This method aligns with the #emph[congruent + system management] #cite(,form:"normal") approach, focusing on + consistency and predictability. Declarative configurations ensure idempotence, + meaning the same configuration can be applied multiple times without altering + the system beyond its intended state. This abstraction makes it easier to + understand and maintain, as the system determines the necessary actions to + achieve the desired state. + + In contrast, #emph[imperative configuration management] + #cite(,form:"normal")involves detailing the exact steps required to + transition a system from its current state to a desired state, providing + granular control over the configuration process. Tools such as Ansible + #cite(, form: "normal"), Chef #cite(, form: "normal"), Puppet + #cite(, form: "normal"), and Bash scripts exemplify this approach. + This method aligns with the #emph[convergent system management] + #cite(,form:"normal") approach, focusing on achieving a goal + through a series of specific actions. While imperative configurations allow + for complex logic and conditional operations, they can be challenging to + maintain due to their non-idempotent nature, meaning the same script can + produce different results depending on the system's initial state. This + approach requires meticulous management to ensure consistency and + repeatability, offering detailed control at the expense of simplicity and + predictability. + + The expressiveness of imperative tools comes at a significant cost. These + tools allow developers to make stronger assumptions about the current state of + the system. This creates a strong likelihood of like environments diverging + over time in a process known as #emph[configuration drift]. The declarative + approach to configuration management reduces the possibility of configuration + drift by favoring idempotence, explicit dependency graphs, and maintaining a + strong awareness of the current state of the environment + #cite(,form:"normal", supplement: [p.348]). +] + +During the evaluation, I found Docker to be very easy to use. By using a simple +declarative syntax to define the build steps, the `Dockerfile` is one step +forward into making configurations more explicit and this has contributed a lot +to the success of the Docker ecosystem. On a less positive note, using Docker on +other platforms than Linux can be challenging and a deal breaker for some users. +On non-Linux systems, Docker relies on a virtual machine to create a Linux +environment, which can lead to performance overheads and latency issues. The +differences in filesystems between Linux and non-Linux platforms can also result +in inconsistencies and unexpected behaviour in container operations. +Additionally, networking configurations and capabilities can vary significantly, +causing more complex setups and potential connectivity issues. Resource +allocation and management can be less efficient on non-Linux platforms due to +the intermediary VM layer. On Linux based architectures, the performance are not +as good as running the software natively, but it is still acceptable for most +use cases. However, while initiatives such as DevContainer +#cite(, form: "normal") are trying to provide a more integrated +experience with Visual Studio Code #cite(, form: "normal"), working with +and inside a container adds an extra layer of complexity that can be challenging +to manage, especially when dealing with networking, storage and security. + +Guix has been an interesting tool to evaluate. While the learning curve is +steeper than Docker, the benefits are significant. I appreciated the strict and +declarative approach to package management, which aligns well with the +reproducibility goals. The idea of using an existing general purpose language +for declaring packages and configurations is a powerful idea. The community is +small but active, however since no proprietary tools are packaged, it can be a +challenge for users to find the software they need. There are workarounds +existing but it is not advertised by the Guix community which tend to focus and +adhere to the free software philosophy #cite(, form: "normal"). The +performance of Guix is great, since no containerization is involved, the +software runs natively on the system and accessing storage and network is a +breeze. Guix extensively uses `git` #cite(, form: "normal") for fetching +packages and configurations, and the information displayed to the user while +running it is very clean and clear. + +Nix has been the most interesting approaches to evaluate, technically but also +politically. The learning curve is steep, but the benefits are significant. +The Nix language while being Turing-complete (@def-turing-complete) has a very +specific and limited #gls("DSL"), it is remarkably clean and powerful, making it +highly suitable for managing package builds and configurations. Additionally, +the simplicity of the Nix language enhances its efficiency and usability, +positioning it, in my own opinion, as one of the best languages for this task. + +During the making of this thesis, I contributed to Nix and I really appreciated +how easy it is to contribute but also the transparency of the process when it +comes to making a change. The Nix community is very large, active and welcoming, +and the Nix package repository `nixpkgs` is one of the most active repository +on Github #cite(, form: "normal"). Nix has completely changed the +way I think about software management, how I consume software and how I ship +software. I wish I had discovered it earlier. + +While Nix offers many advantages, it also has some drawbacks, primarily +concerning its installer. The Nix installer is a shell script that downloads and +installs Nix on the system. However, there are alternative installers available. +During my evaluation, I explored these different installers and ultimately chose +one developed by a United States-based company founded by Eelco Dolstra, the +creator of Nix. Given this connection, I felt confident using their installer. +Nevertheless, I found it peculiar to maintain multiple installers for the same +software, which I suspect might be a source of confusion for many users, both +new and experienced. Could this indicate a deeper governance problem? + +Another drawback of Nix is the documentation. While the Nix manual is extensive +and well-written, it can be overwhelming for new users. The manual is +comprehensive but it lacks a clear and concise structure, examples and a lot of +topics are not covered. A lot of energy, initiative and effort are being made +and things are slowly moving in the right direction. + +While working with Nix the first time, I got introduced to the concept of Nix +channels. Nix channels is a mechanism used to distribute and update collections +of Nix expressions. These channels provide users with a way to receive updates +for Nix packages and configurations. While Nix extensively uses `git`, the +unique concept of channels adds an extra cognitive load for users who want to +simply upgrade their machines. I preferred the simplicity Guix offers by just +using `git` to update the system. When using Flakes, the concept of Nix channels +is no longer needed. + +Flakes is an experimental feature as of writing. Released in November 2021 with +Nix 2.4 #cite(, form: "normal"), Flakes is powerful yet +controversial. For example, some companies, including one founded by the creator +of Nix, are advocating for the adoption of Flakes, while the Nix community +awaits its stabilization. Although these differences do not affect Nix's +functionality in the short term, they can be confusing for new users and may +lead to fragmentation within the community. One might ask why such companies are +not contributing to the same codebase as the rest of the community, a situation +that has already led to some division. + +#info-box(kind: "important")[ + There are currently around 230 committers spread across the globe taking care + of the Nix package repository on Github + #cite(,form:"normal"). On June 1st 2023, I've been granted + the status of project committer #cite(,form:"normal"). + This status allows me to merge commits, review code, and contribute to the Nix + ecosystem in a more direct way. However, I want to clarify that the + conclusions of this thesis were not influenced by my role in the Nix project. + I have worked to maintain the highest level of objectivity in this document, + with only reproducibility as the primary focus. +] + +At the time of writing, the Nix community was facing a significant crisis, +leading to the creation of two new forks of Nix, @lix and @aux. This +fragmentation is a major concern for the project's future. While a new +governance structure is being established, the community remains divided over +different installers, the experimental Flake feature, the sponsorships policy +and now forks. Although the current situation is not ideal, I am confident that +the community will overcome this crisis and continue to provide an excellent +tool for the #gls("SE") community. The controversial Flake feature has attracted +many new users to the Nix ecosystem, and the community is growing rapidly. These +issues are likely a result of this rapid growth and the initial lack of clear +and transparent governance, a problem that needs to be resolved. + +To conclude, it is essential to recognise that Nix is the result of extensive +research and development, used in production by numerous companies and +individuals. The Nix community is dynamic and vibrant, promising a bright future +for the project. The core value of Nix lies in its package repository, +`nixpkgs`, which hosts thousands of packages readily accessible to any Nix user. +Regardless of which Nix variant or fork one chooses, the true asset remains that +package recipe repository, likely to be shared across different forks, ensuring +consistency and reliability in package management. + +#info-box(kind: "conclusion")[ + I have concluded that the ideas implemented by Nix stand out as the optimal + choice. With two decades of maturity and robustness, the Nix ecosystem is, in + my view, currently the best concept for implementing reproducibility in + #gls("SE"). I am convinced that Nix, or a similar technology that embraces the + same principles (e.g., @guixwebsite, @lix, @aux), has the potential to + revolutionise the way software is built, used, audited, deployed and shared. +] + +#pagebreak(weak: true) + +== Research Findings + +During this research, I have discovered in @chapter3 that the reproducibility of +software builds is a multifaceted challenge that requires a combination of +skills, tools and strategies to address it effectively. In this section, I +present a summary of the key findings and some other facets of reproducibility +that I briefly explored, but could be expanded in future research. + +=== At A Glance + +Reproducibility in #gls("SE") refers to the ability to consistently recreate the +same software product, with identical functionality, using the same methods and +data across different environments and over time. This involves +ensuring that the software build process, dependencies, and computational +environments are well-documented and standardised. + +#figure( + include "../../resources/typst/ch4-table-conclusion.typ", + caption: [Pros and cons of reproducibility], + kind: "table", + supplement: [Table], +) + +=== Limitations + +Each of the tools evaluated in @chapter3 offers unique advantages and features, +yet they also possess limitations that can impact their effectiveness in +achieving reproducibility. Below are some key points noted during the +evaluation. + +==== Cross Architecture Reproducibility + +Achieving software build reproducibility across different operating systems and +architectures is not feasible for certain types of build outputs, typically +binaries (@ch2-r13y-utopia). Binary build outputs depend on the #gls("CPU") +architecture (e.g., `x86`, `ARM`) because converting source code into machine +code uses a set of #gls("CPU") instructions directly inherited from the +#gls("CPU") architecture. Therefore, obtaining binaries that are identical +across every architecture is unlikely to occur. This inherent dependency means +that the binaries produced on different architectures will have variations, +making exact cross hardware architecture reproducibility unattainable. + +==== Unavailability Of Upstream Packages + +To illustrate this limitation, I will use the example of a software package that +has been removed from the upstream repository and is no longer available for +download. In this scenario, the software package cannot be built, as the source +code is no longer accessible. Furthermore, any other packages that depend on +this now-unavailable package also become impossible to build. This limitation +highlights the importance of maintaining a robust and reliable infrastructure +for software repositories to ensure the longevity of software packages and +facilitate reproducibility. In the absence of such infrastructure, +reproducibility becomes increasingly challenging, as software packages may +become obsolete or unavailable over time. + +To circumvent this limitation, researchers and developers can adopt proactive +measures to ensure the reproducibility of their software builds. One approach is +to archive the source code and dependencies of the software package, preserving +them in a secure and accessible repository. This is what projects like Software +Heritage #cite(, form: "normal") is trying to achieve. By archiving the +source code and dependencies, researchers and developers can safeguard against +the loss of critical software components and maintain the reproducibility of +their builds over time. Additionally, implementing a caching layer to store +build outputs can significantly enhance reproducibility. This allows users to +retrieve precompiled build outputs, thereby avoiding the need to compile the +source code on their machines if the corresponding cached build exists. +Nix facilitates the creation of such cached build layers due to its principles +(@def-functional-package-management), as it produces immutable directories based +on sources. This means that modifying existing cached builds is not possible, +mitigating potential security issues related to accidental modifications. It's +worth noting that this level of immutability and reproducibility is not the case +with all package managers. + +==== Standardisation + +Another limitation is the lack of standard practices for documenting and sharing +the necessary details to replicate software builds. This limitation underscores +the need for clear and comprehensive documentation to facilitate +reproducibility. An exemplary initiative addressing this challenge is the +#gls("PURL") project, which seeks to standardise the identification and location +of software packages across various ecosystems and tools. The #gls("PURL") +specification #cite(, form: "normal") provides a universal syntax to +reliably reference software packages, thereby mitigating the inconsistencies +that arise from diverse package management conventions. By establishing a common +framework, #gls("PURL") enhances the interoperability and reproducibility of +software builds across different platforms and tools, illustrating the critical +role of standardisation in reproducible research and development. In addition to +#gls("PURL"), the #gls("SWHID") is another significant development aimed at +improving standardisation. The #gls("SWHID") provides a unique, persistent +identifier for software source code, facilitating the precise identification and +retrieval of specific software versions from the @SWHArchive. + +To illustrate this, the 11 June 2024, GitHub announced +#cite(,form:"normal"), that generated #gls("SBOM") files will +now include a #gls("PURL"). By including the #gls("PURL"), GitHub improves the completeness of the #gls("SBOM") data, helping users in more clearly identifying +the packages in their repositories. This new Github feature exemplifies the +practical benefits of adopting a standardised specification, as it addresses a +critical need in reproducibility by providing the precise identification of +software components used in a build, thereby improving transparency and +reproducibility in software development through the inclusion of #glspl("PURL") +in GitHub's #glspl("SBOM"). + +== Future Work + +The exploration of reproducibility in #gls("SE") is an ongoing endeavour. As +technology advances and new tools emerge, the landscape of reproducibility +continually evolves. + +A foundational step towards enhancing reproducibility in #gls("SE"), and by +extension, in the broader realm of science, is to raise awareness of its +importance from the outset. This can be achieved through educational +initiatives, workshops, and seminars that highlight the benefits of +reproducibility and provide researchers with the necessary tools and resources. +Embedding reproducible practices into the research culture from the beginning +will help establish these practices as standard requirements rather than +optional enhancements​​​​. + +On the technical side, the frameworks and tools evaluated in this thesis provide +a robust foundation for reproducible software builds. However, significant scope +for improvement remains. Currently, various Linux distributions continue to +develop their own package managers, resulting in redundant efforts and +inefficient use of resources. While this idea seems utopic, adopting Nix as a +#emph[universal package manager] could be a potential solution. Nix abstracts +away the underlying system, making it an ideal candidate for standardizing +software deployment across different Linux distributions. By providing a +consistent environment, Nix could streamline the deployment process, reduce +inconsistencies, enhance reproducibility across diverse systems, and improve +security. With a universal package manager, security vulnerabilities could be +addressed more efficiently, as fixes could be deployed across all systems +simultaneously. However, implementing Nix universally presents several +challenges, such as ensuring compatibility with all distributions, overcoming +resistance from communities accustomed to their current systems, and managing +the scalability and maintenance of such an initiative. To address these +challenges, a phased approach could be adopted, starting with specific use cases +or distributions where Nix has demonstrated clear benefits. Additionally, +collaborative efforts and open dialogue among stakeholders could facilitate a +smoother transition. Furthermore, adopting Nix could significantly reduce our +carbon footprint by eliminating the need to store prebuild binaries for +different distributions. Instead, binaries would be prebuilt once, then stored +and made available on a #gls("CDN") for all the Linux distributions, thus +streamlining the deployment process and contributing to environmental +sustainability. + +#info-box[ + The complexity of reproducibility is comparable to that of replicating a + painting. While explaining this thesis to a painter, I used the example of + creating an indistinguishable copy of another painting. The painter explained + that the likelihood of achieving such perfect replication is comparable to the + chance of a monkey writing Shakespeare's work due to the numerous variables + involved, such as the type of paint, the brush, the canvas, the lighting, the + environment, the painter's mood, and the time of day. This carefully chosen + analogy underscores the multifaceted nature of reproducibility in #gls("SE"), + where numerous variables and intricate interplay influence the final outcome​​. +] + +The challenges in achieving reproducibility in artistic works highlight the +complexity and necessity of considering various factors. This broader context +emphasises that reproducibility is not limited to #gls("SE") but is a universal +issue that requires ongoing attention and innovation. Across different fields +such as the arts, social sciences, and natural sciences, achieving +reproducibility involves addressing a wide array of considerations. +Specifically, these considerations include ethical, economic, philosophical and +educational aspects. + +=== Flaky tests + +Flaky tests are tests that exhibit inconsistent outcomes without changes to the +code being tested. This means that they can fail or pass sporadically, leading +to uncertainty and mistrust in the test outcomes. These unreliable tests are not +only problematic for developers but also hinder the effectiveness of valuable +techniques in software testing research. Essentially, flaky tests pose a threat +to the validity of methodologies that rely on the assumption that a test's +outcome is solely determined by the source code it evaluates. From a recent +paper #cite(,form:"normal"), a survey of software developers +found that 59% claimed to deal with flaky tests on a monthly, weekly, or daily +basis. + +Reproducibility is directly linked to the issue of flaky tests because their +inconsistency directly impacts the ability to reproduce results reliably. For +effective reproducibility in scientific software and other domains, it is +crucial that tests yield consistent and predictable results. Unstable tests +hinder the verification process, making it difficult to assert whether observed +issues are due to actual code defects or just the flakiness of the tests +themselves. This discrepancy affects validation, verification, and the +confidence in computational results. + +Future work on this issue should focus on developing techniques to identify and +mitigate flaky tests, ensuring that test outcomes are consistent and reliable. +Research could explore advanced methods for detecting flakiness, such as machine +learning algorithms that analyze test behavior patterns. Additionally, creating +tools to automatically stabilize flaky tests and integrating these solutions +into continuous integration pipelines would significantly enhance the +reliability and trustworthiness of software testing processes. + +=== Formal Concepts + +There is potential for further describing and refining the formal definitions +related to reproducibility introduced mostly in @chapter2. While this thesis has +introduced formal definitions of key terms related to reproducibility, these +definitions can be expanded, refined and improved. + +Having a set of formal definitions related to reproducibility is important +because they provide clarity and consistency in terminology, helping researchers +communicate more effectively. Standardised definitions allow for consistent +evaluation criteria, making it easier to compare results across different +studies and ensuring reliable assessments. This standardisation also supports +the development of tools and methodologies for verifying reproducibility, making +the evaluation process more rigorous. + +Moreover, formal definitions play an educational role by instilling a culture of +reproducibility among new researchers and students. They guide policy-making and +governance in research institutions, promoting best practices. Ultimately, these +definitions ensure the reliability and integrity of scientific findings. +Enhancing these formal definitions will further strengthen the quality and +credibility of research. + +=== Ethical Considerations + +Reproducibility is fundamentally intertwined with ethical practices in research, +as it bolsters the scientific process by enforcing transparency among +researchers. The commitment to making research reproducible serves the +scientific community and fosters public trust in scientific outcomes, +demonstrating a respect for the integrity of science and its impact on society. + +Ethically, researchers are obliged to report their findings and also provide +comprehensive details of their methodologies. This level of accountability +allows their research to be rigorously scrutinised, validated, or refuted by +peers, thus enhancing the quality and credibility of the scientific knowledge +produced. It is essential for maintaining public trust in scientific +research. When results are not reproducible, it undermines the reliability of +scientific discourse and can lead to scepticism towards scientific claims. This +is particularly critical when scientific research informs policy decisions in +crucial areas such as public health and environmental conservation, where +non-reproducible research could lead to misguided policies with far-reaching +consequences. As we've seen through this document, the open sharing of data and +methods is a cornerstone of reproducible research. It democratises access to +scientific knowledge, enabling a diverse range of researchers to participate in +and contribute to scientific discovery, regardless of their geographical, +political or institutional affiliations. Reproducibility acts as a bulwark +against fraud and bias. It ensures that research content, findings, discoveries +are genuine and not the result of manipulated data, thus promoting fair +distribution of resources and recognition within the scientific community. + +=== Philosophical Considerations + +According to @kpopper1934, a cornerstone of scientific inquiry is that a theory +must be falsifiable; that is, it can be disproven through empirical evidence. +While evidence alone cannot conclusively verify a hypothesis, it can refute one. +Reproducibility is essential in this context as it allows hypotheses to be +rigorously tested and either validated or refuted, thus contributing to the +evolution of scientific truth. + +Scientific knowledge is not static but accumulates iteratively. Reproducibility +fortifies this process by ensuring that each new discovery builds upon a +foundation of previously verified results. This methodological consistency is +crucial for the progressive nature of scientific understanding. + +Reproducibility also underpins the pursuit of objective knowledge. It helps +distinguish robust scientific results from those that are anomalies or artefacts +of experimental error, refining our collective understanding of natural +phenomena. The establishment of scientific consensus relies heavily on +reproducible results. This reproducibility facilitates agreement among +scientists on what constitutes established facts, thus propelling scientific +progress and fostering collaboration across various disciplines. + +Moreover, reproducibility enhances the scientific enterprise by encouraging the +open sharing of data and methods. This openness not only fosters collaboration +but also transforms research into a collective endeavour rather than a series of +isolated efforts. It cultivates a scientific culture where data transparency and +methodological openness are normative, promoting an inclusive environment that +respects and builds upon the work of fellow researchers. By facilitating the +verification of results, reproducibility pays homage to the foundational work of +previous researchers and ensures that their contributions to knowledge are +respected and built upon. It reinforces the integrity of scientific practice and +propels the pursuit of further inquiry. + +=== Economical Considerations + +Reproducibility intersects with economic efficiency. Efficient reproducibility +can accelerate scientific progress by enabling quicker validation of results and +facilitating broader dissemination of knowledge. Economies of scale can be +applied where repetitive reproductions are feasible, thus reducing the unit cost +of research and making large-scale studies more financially sustainable. + +The economic impact of reproducibility also extends to its utility in +policymaking and industrial applications. Reproducible research ensures that +policies and commercial ventures based on scientific findings are underpinned by +robust and reliable evidence, thus minimising risks and maximising efficacy. +This not only bolsters public and investor confidence but also enhances the +economic utility of scientific research. + +To some extent, reproducibility is closely linked to the economy of scarcity, +where the rarity of an object or finding directly impacts its reproducibility +and associated costs. Rare phenomena or data require more specialised resources +for reproduction, which are often costly and less accessible. This scarcity +increases the economic investment required to replicate a study, from securing +rare materials to accessing specialised equipment. + +Conversely, phenomena that are not rare can be reproduced with greater ease and +at a lower cost. The abundance of necessary resources and established +methodologies makes such reproduction economically viable and less +resource-intensive. This disparity highlights a fundamental economic principle +within scientific research: the cost and feasibility of reproducibility often +depend on the availability and accessibility of resources. + +To illustrate this, consider the manual replication of a painting, where the +scarcity of the original artist’s brushstrokes and techniques makes it +challenging to reproduce the artwork with the same precision and quality. It +would take a significant investment of time, effort, and resources to manually +replicate the painting accurately. Choosing the proper materials, mastering the +techniques, and recreating the environment and artist’s vision are all essential +factors that contribute to the cost and feasibility of reproducing the painting. +In contrast, a mass-produced item, such as a digital photograph, can be +replicated with relative ease and at a lower cost. + +In summary, the economic implications of reproducibility encompass a range of +considerations from the broader economic impacts on efficiency, credibility, and +practical application to the costs of rare resources. + +=== Educational Considerations + +Educating students in best practices is crucial for fostering a culture of +reproducibility. We can draw a compelling parallel with mathematics, where +reproducibility is inherently embedded. Just as mathematical proofs and +solutions can be independently verified by anyone following the same steps and +logic, reproducibility in #gls("SE") aims for the same level of +transparency and verifiability. This bridge underscores that reproducibility is +a desirable trait and a foundational principle that should be rigorously applied +in computational research. For example, a professor might provide students with +the necessary data, software, and materials for a specific course through fully +reproducible methods and tools. This could involve using open-source software, +version control systems, and detailed documentation to ensure that students can +reproduce the outcome in any space and any time. + +Incorporating ethics education into research training programmes helps instil +the importance of reproducibility and integrity in scientific research, +emphasising the ethical responsibility researchers have towards producing +verifiable and reliable results. Organising workshops and seminars focused on +reproducibility can help disseminate best practices and foster a community +dedicated to high standards in research. These events serve as platforms for +discussion, collaboration, and the sharing of new tools and techniques. + +Furthermore, experienced researchers mentoring early-career scientists can pass +on valuable knowledge and emphasise the importance of reproducibility in their +work. Mentorship provides hands-on guidance and support, helping to build a +strong foundation for the next generation of scientists. By addressing these +educational and training considerations, we can cultivate a research environment +that values and prioritises reproducibility. + +Reproducibility is closely linked to fact-checking, as both processes involve +verifying the accuracy and reliability of research findings. Emphasising +reproducibility can significantly enhance the quality of fact-checking by +providing clear, transparent methodologies and robust data that others can +independently verify. This rigorous approach ensures the credibility of +scientific research and fosters critical thinking skills. By engaging in +reproducible research practices, individuals develop a keen critical thinking, +which is essential for evaluating information, identifying biases, and making +informed decisions. Teaching the principles of reproducibility and fact-checking +from an early age is crucial. Incorporating these concepts into school curricula +helps students develop critical thinking skills early on, empowering them to +question assumptions, evaluate evidence, understand the scientific process and +verify by themselves. Educating students about the importance of transparency, +data integrity, and methodological rigour lays the foundation for a more +scientifically literate and critically minded society. By fostering these skills +from the beginning of their education, we can equip future generations with the +tools they need to navigate the complex and information-rich world. + +#leftblank(weak: false) diff --git a/src/thesis/abstract.typ b/src/thesis/abstract.typ new file mode 100644 index 0000000..ad1189a --- /dev/null +++ b/src/thesis/abstract.typ @@ -0,0 +1,29 @@ +#import "theme/abstract.typ": * + +#abstract[ + The concept of reproducibility has long been a cornerstone in scientific + research, ensuring that results are robust, repeatable, and can be + independently verified. This concept has been extended to computer science, + focusing on the ability to recreate identical software artefacts. However, the + importance of reproducibility in software engineering is often overlooked, + leading to challenges in the validation, security, and reliability of software + products. + + This master's thesis aims to investigate the current state of reproducibility + in software engineering, exploring both the barriers and potential solutions + to making software more reproducible and raising awareness. It identifies key + factors that impede reproducibility such as inconsistent environments, lack of + standardisation, and incomplete documentation. To tackle these issues, I + propose an empirical comparison of tools facilitating software + reproducibility. + + To provide a comprehensive assessment of reproducibility in software + engineering, this study adopts a methodology that involves a hands-on + evaluation of four different methods and tools. Through a systematic + evaluation of these tools, this research seeks to determine their + effectiveness in establishing and maintaining identical software environments + and builds. + + This study contributes to academic knowledge and offers practical insights + that could influence future software development protocols and standards. +] diff --git a/src/thesis/accessibility.typ b/src/thesis/accessibility.typ new file mode 100644 index 0000000..13d1d8f --- /dev/null +++ b/src/thesis/accessibility.typ @@ -0,0 +1,57 @@ +#import "theme/glossary.typ": * + +#pagebreak(weak: true) + +#heading("Accessibility", level: 1, outlined: false) + +This master thesis has been written with a focus on accessibility to ensure it +can be easily read and understood by a diverse audience, including individuals +with disabilities. The following measures have been taken to enhance +accessibility: + +- Links: all hyperlinks within this document are underlined and clearly + distinguishable from regular text. This visual cue helps users identify + clickable links easily. + +- Symbols and notation: specific symbols and notation have been used + consistently throughout the document to aid comprehension. Mathematical + symbols, special characters, and other notation are presented in a clear and + readable manner. + +- Text formatting: the document uses high-contrast text formatting and font + sizes that are readable across different devices and screen resolutions. The + `New Computer Modern` #cite(,form:"normal") font is used, + chosen for its clarity and readability, especially in mathematical and + technical contexts. + +- Margins: the margins have been alternately adapted to ensure that when the + document is printed, it is suitable for binding and easy to read. This + consideration enhances the physical accessibility of the printed document. + +- Headings and structure: the document is structured with clear headings and + subheadings to facilitate navigation. This hierarchical organisation assists + readers in quickly finding relevant sections. + +- Language and terminology: plain language and concise terminology have been + employed to ensure that the content is comprehensible to a broad audience, + including those for whom English is not their first language. + +- Glossary: a #link()[glossary] is included, containing the + most common abbreviations used throughout the document. This aids readers in + quickly understanding the abbreviations and acronyms, improving overall + comprehension. Additionally, comprehensive lists of + #link()[definitions], #link()[figures], + and #link()[tables] are provided. + +- Accessible file formats: the document is available in multiple file formats, + to accommodate various reading preferences and assistive technologies. + +- Bibliography links: in line with the #gls("IEEE") citation style, numbers in + brackets are used to link references in the + #link()[bibliography]. This method provides a clear and + consistent way to reference sources, enhancing the readability and + accessibility of the document. + +- Images: all images in this document are in #gls("SVG") format. This vectorial + format ensures that images are scalable without loss of quality, providing + clear and accessible visuals on different devices and screen resolutions. diff --git a/src/thesis/acknowledgement.typ b/src/thesis/acknowledgement.typ new file mode 100644 index 0000000..71b763b --- /dev/null +++ b/src/thesis/acknowledgement.typ @@ -0,0 +1,40 @@ +#import "theme/acknowledgement.typ": * + +#acknowledgement[ + First and foremost, I would like to express my deepest gratitude to Professor + Tom Mens. I am incredibly thankful for his availability and guidance + throughout my studies. It was a great honour to receive his proposal to + supervise my research in my final year. Beyond that, he generously + allowed me to suggest topics that piqued my interest, ultimately enabling me + to focus on a subject that I am truly passionate about. + + I must also express my heartfelt appreciation for my girlfriend, Sandra. Her + endless patience and emotional support have been a constant source of + strength, motivation and inspiration for me. However, it is with a touch of + melancholy that I acknowledge the sacrifices we've made in our personal lives + in order to pursue this overdue academic endeavour that I should have + completed twenty years ago. + + I would like to thank my family and #emph[in-real-life] friends for their + continuous support and encouragement throughout these last years. Your belief + in me has provided the foundation upon which this work stands. I am also + deeply grateful to my #emph[online] friends, especially within the Typst and + Nix communities, for their tremendous support and constant source of + solutions, inspiration and motivation. + + A special mention is deserved for Izumi, my cat, who was a constant companion + and source of comfort over the last decade. His loss was a profound sorrow, + and I deeply miss his presence. The memories of the countless hours he spent + by my side, offering silent support during my work, have left an indelible + mark. + + Finally, I would like to express my sincere thanks to all the participants in + this research. I am particularly grateful to my colleagues at European + Commission, who courageously and continuously supported me while remaining + unaware of my academic activities. Your valuable feedback has greatly + contributed to the development of some parts of this master's thesis. In fact, + your lack of awareness helped me understand the barriers to implementing + software reproducibility from the very beginning and in a real professional + context. Each piece of feedback has been instrumental in helping me better + understand and improve communication about this concept. +] diff --git a/src/thesis/disclaimer.typ b/src/thesis/disclaimer.typ new file mode 100644 index 0000000..cd6653c --- /dev/null +++ b/src/thesis/disclaimer.typ @@ -0,0 +1,8 @@ +#import "theme/disclaimer.typ": * + +#disclaimer( + title: title, + degree: degree, + author: author, + submissionDate: submissionDate, +) diff --git a/src/thesis/extra.typ b/src/thesis/extra.typ new file mode 100644 index 0000000..1749ffd --- /dev/null +++ b/src/thesis/extra.typ @@ -0,0 +1,24 @@ +#import "theme/glossary.typ": * + +#heading("Open Source", level: 1, outlined: false) + +This master thesis has been developed exclusively using open-source tools. +Similar to an open-source project, it was maintained on GitHub but in a private +repository #cite(, form:"normal"). That repository will be made +public after the oral defense and necessary internal cleanup. Automated and +reproducible builds were managed via GitHub Actions +#cite(,form:"normal"), ensuring that a new compiled version was +published at each commit to the project. Additionally, I'm planning to publish +it on @ArXiV too after the necessary formalities are completed. + +This work is licenced under a dual license: the #gls("CC BY 4.0") and the +#gls("HL3") licences. You are free to share and adapt the material under the +terms of the `CC BY 4.0`, provided you give appropriate credit to the original +author. You must also use the material in accordance with the ethical guidelines +specified in `HL3`, ensuring it is not used to contribute to human rights abuses +or other unethical practices. In case of any conflict between the licences, +`HL3` will take precedence. + +For the purpose of the @chapter3, an open-source project +#cite(,form:"normal") was created to provide a full +transparency on the results shown in that chapter. diff --git a/src/thesis/glossary.typ b/src/thesis/glossary.typ new file mode 100644 index 0000000..a4908ef --- /dev/null +++ b/src/thesis/glossary.typ @@ -0,0 +1,191 @@ +#import "theme/glossary.typ": * + +#glossary(terms: ( + ( + key: "CC BY 4.0", + short: "CC BY 4.0", + long: "Creative Commons Attribution 4.0 International", + desc: [The Creative Commons Attribution 4.0 International License #cite(,form:"normal") is a widely used license that allows others to distribute, remix, adapt, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most flexible of the CC licenses.], + ), + ( + key: "CDN", + short: "CDN", + long: "Content Delivery Network", + desc: [A content delivery network is a system of distributed servers that deliver web content to a user based on the geographic locations of the user, the origin of the webpage and a content delivery server, making the delivery of content more efficient.], + ), + ( + key: "CICD", + short: "CI/CD", + long: "Continuous Integration/Continuous Deployment", + desc: [Continuous Integration (CI) is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. Continuous Deployment (CD) is a software release process that uses automated testing to validate that changes are safe to deploy to production.], + ), + ( + key: "CPU", + short: "CPU", + long: "Central Processing Unit", + desc: [The CPU is the primary component of a computer that processes instructions. It runs the operating system and applications, constantly receiving input from the user or active software programs. It processes the data and produces outputs. ARM and X86 are two common CPU architectures.], + ), + ( + key: "CRA", + short: "CRA", + long: "Cyber Resilience Act", + desc: [The Cyber Resilience Act #cite(,form:"normal") is a proposed European Union regulation that aims to improve the cybersecurity of digital products and services. It includes provisions for #link()[software supply chain] security, incident reporting, and security certification.], + ), + ( + key: "CS", + short: "CS", + long: "Computer Science", + desc: [The discipline of Computer Science includes the study of algorithms and data structures, computer and network design, modelling data and information processes, and artificial intelligence. Computer Science draws some of its foundations from mathematics and engineering and therefore incorporates techniques from areas such as queueing theory, probability and statistics, and electronic circuit design.], + ), + ( + key: "CycloneDX", + short: "CycloneDX", + desc: [@cyclonedx is an open-format standard baked by the OWASP foundation and Ecma Technical Committee designed to provide comprehensive and interoperable information about the components used within software projects like software bill of materials and advanced supply chain capabilities for cyber risk reduction.], + ), + ( + key: "DevOps", + short: "DevOps", + desc: [DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide #gls("CICD").], + ), + ( + key: "DevSecOps", + short: "DevSecOps", + desc: [ + DevSecOps is an extension of #gls("DevOps") practices that integrates security (Sec) measures at every stage of the software development lifecycle, ensuring that security is a fundamental aspect of development and operations processes. + ], + ), + ( + key: "DSL", + short: "DSL", + long: "Domain Specific Language", + desc: [A domain-specific language is a computer language specialised to a particular application domain. This is in contrast to a general-purpose language, which is broadly applicable across various domains.], + ), + ( + key: "FHS", + short: "FHS", + long: "Filesystem Hierarchy Standard", + desc: [The Filesystem Hierarchy Standard is a reference document that describe the conventions used for the layout of Unix-like operating systems. This includes names, locations, and permissions of many file and directories.], + ), + ( + key: "HL3", + short: "HL3", + long: "Hippocratic Licence 3.0", + desc: [The Hippocratic Licence 3.0 #cite(,form:"normal") is a software license that ensures that software is not used to contribute to human rights abuses or other unethical practices. It is designed to protect users and communities from the potential misuse of software.], + ), + ( + key: "IEEE", + short: "IEEE", + long: "Institute of Electrical and Electronics Engineers", + desc: [The Institute of Electrical and Electronics Engineers #cite(, form:"normal"), established in 1963, is the world's largest technical professional organisation dedicated to advancing technology for the benefit of humanity. It serves as a professional association for electronic engineering, electrical engineering, and related disciplines.], + ), + ( + key: "MD5", + short: "MD5", + long: "Message Digest 5", + desc: [The MD5 message-digest algorithm is a widely used hash function producing a 128-bit hash value. MD5 was designed by Ronald Rivest in 1991 to replace an earlier hash function MD4, and was specified in 1992 as RFC 1321.], + ), + ( + key: "OCI", + short: "OCI", + long: "Open Container Initiative", + desc: [OCI stands for @opencontainerinitiative, an open governance project for the purpose of creating open industry standards around container formats and runtime. An "OCI image" is a container image that conforms to the OCI image format specification.], + ), + ( + key: "OS", + short: "OS", + long: "Operating System", + plural: "OSes", + longplural: "Operating Systems", + desc: [An operating system is system software that manages computer hardware and software resources, and provides common services for computer programs.], + ), + ( + key: "PDF", + short: "PDF", + long: "Portable Document Format", + desc: [A file format developed by Adobe in the 1990s to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems.], + ), + ( + key: "POSIX", + short: "POSIX", + long: "Portable Operating System Interface", + desc: [POSIX is a family of standards specified by the #gls("IEEE") for maintaining compatibility between operating systems.], + ), + ( + key: "PURL", + short: "PURL", + plural: "PURLs", + long: "Package URL", + desc: [A PURL #cite(,form:"normal") is a #gls("URL") string used to identify and locate a software package in a mostly universal and uniform way across programing languages, package managers, packaging conventions, tools, APIs and databases.], + ), + ( + key: "REPL", + short: "REPL", + long: "Read-Eval-Print Loop", + desc: [A read-eval-print loop is an interactive computer programming environment that takes single user inputs, evaluates them, and returns the result to the user.], + ), + ( + key: "SBOM", + short: "SBOM", + plural: "SBOMs", + long: "Software Bill of Materials", + desc: [The software bill of materials is a comprehensive inventory of all components, including libraries, dependencies and versions, that constitute a software product, used for tracking and managing software supply chain security.], + ), + ( + key: "SPDX", + short: "SPDX", + long: "Software Package Data Exchange", + desc: [The @spdx format, created and maintained by the + Linux Foundation, is a standardised way of documenting and communicating the + components, licenses, and copyrights of software packages. It provides a + consistent method for tracking and sharing information about software contents, + particularly in open-source and collaborative environments.], + ), + ( + key: "SHA1", + short: "SHA-1", + long: "Secure Hash Algorithm 1", + desc: [SHA-1 is a hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest – typically rendered as 40 hexadecimal digits. It was designed by the United States National Security Agency (NSA), and is a U.S. Federal Information Processing Standard.], + ), + ( + key: "SHA2", + short: "SHA-2", + long: "Secure Hash Algorithm 2", + desc: [SHA-2 is a set of cryptographic hash functions designed by the United States National Security Agency (NSA). It consists of six hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.], + ), + ( + key: "SE", + short: "SE", + long: "Software Engineering", + desc: [Software Engineering is a computing discipline. It is the systematic application of engineering approaches to the development of software.], + ), + ( + key: "SemVer", + short: "SemVer", + long: "Semantic Versioning", + desc: [Semantic Versioning #cite(, form: "normal") is a versioning scheme for software that uses a three-part version number: `MAJOR.MINOR.PATCH`.], + ), + ( + key: "SRI", + short: "SRI", + long: "Subresource Integrity", + desc: [Subresource Integrity #cite(, form: "normal") is a security feature that allows web developers to ensure that resources they fetch are delivered without unexpected manipulation.], + ), + ( + key: "SVG", + short: "SVG", + long: "Scalable Vector Graphics", + desc: [SVG is an XML-based vector image format.], + ), + ( + key: "SWHID", + short: "SWHID", + long: "Software Heritage Identifier", + desc: [The Software Heritage Identifier #cite(,form:"normal") is a unique identifier for software artifacts, such as source code, that is used to track and reference software across different platforms and systems.], + ), + ( + key: "URL", + short: "URL", + long: "Uniform Resource Locator", + desc: [A URL is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.], + ), +)) diff --git a/src/thesis/imports/colors.typ b/src/thesis/imports/colors.typ new file mode 100644 index 0000000..83e3fa2 --- /dev/null +++ b/src/thesis/imports/colors.typ @@ -0,0 +1 @@ +#let color-a = rgb("#990027") // #5D071D diff --git a/src/thesis/imports/preamble.typ b/src/thesis/imports/preamble.typ new file mode 100644 index 0000000..f7f6b8e --- /dev/null +++ b/src/thesis/imports/preamble.typ @@ -0,0 +1,8 @@ +#import "@preview/diagraph:0.2.5": * +#import "@preview/codelst:2.0.1": sourcecode, sourcefile +#import "@preview/glossarium:0.4.1": make-glossary, print-glossary, gls, glspl +#import "@preview/xarrow:0.3.1": xarrow, xarrowSquiggly, xarrowTwoHead +#import "@preview/hydra:0.4.0": * +#import "@preview/cetz:0.2.2" +#import "colors.typ": * +#import "workarounds.typ": * diff --git a/src/thesis/imports/workarounds.typ b/src/thesis/imports/workarounds.typ new file mode 100644 index 0000000..5a0efb6 --- /dev/null +++ b/src/thesis/imports/workarounds.typ @@ -0,0 +1,57 @@ +#import "@preview/codelst:2.0.1": sourcecode, sourcefile + +#let shell(body) = { + let body = raw(body) + let kinds = ( + "$": green.darken(30%), + "#": blue.darken(10%), + ">": luma(40%), + " ": luma(100%), + ) + let lines = body.text.split("\n").map(line => { + if line.at(0, default: "") in kinds and line.at(1, default: "") == " " { + (line.at(0), line.slice(2)) + } else { + (none, line) + } + }) + + set par(justify: false) + + show raw.line: it => [ + #let (kind, line) = lines.at(it.number - 1) + #if kind != none { + text(fill: kinds.at(kind), kind) + " " + it.body + } else { + text(fill: luma(50%), it.text) + } + ] + + show raw.line: set text(font: "Inconsolata Nerd Font Mono") + + sourcecode(numbers-style: line-no => text( + fill: luma(160), + size: .5em, + str(line-no), + ))[ + #raw(lang: "sh", lines.map(((_, line)) => line).join("\n")) + ] +} + +#let LaTeX = { + [L];box(move( + dx: -4.2pt, dy: -1.2pt, + box(scale(65%)[A]) + ));box(move( + dx: -5.7pt, dy: 0pt, + [T] +));box(move( + dx: -7.0pt, dy: 2.7pt, + box(scale(100%)[E]) +));box(move( + dx: -8.0pt, dy: 0pt, + [X] +));h(-8.0pt) +} + +#show "LaTeX": LaTeX diff --git a/src/thesis/literature.bib b/src/thesis/literature.bib new file mode 100644 index 0000000..3de01bf --- /dev/null +++ b/src/thesis/literature.bib @@ -0,0 +1,951 @@ +@book{Bacon1928, + title = {Opus Majus, Volumes 1 and 2}, + author = {Roger Bacon}, + year = 1928, + publisher = {University of Pennsylvania Press}, + address = {Philadelphia}, + doi = {10.9783/9781512814064}, + isbn = 9781512814064, + origdate = 1267 +} +@book{kpopper1934, + title = {The Logic of Scientific Discovery}, + author = {Popper, K. R.}, + year = 1934, + publisher = {Hutchinson}, + address = {London}, + added-at = {2008-03-11T14:52:34.000+0100}, + biburl = {https://www.bibsonomy.org/bibtex/28fc60d55651f1750c37c770e5286c132/idsia}, + interhash = {5c732a74fb59e943849b250588538875}, + intrahash = {8fc60d55651f1750c37c770e5286c132}, + keywords = {juergen}, + priority = 2, + timestamp = {2008-03-11T14:55:44.000+0100} +} +@article{Thompson84, + title = {Reflections on Trusting Trust}, + author = {Ken Thompson}, + year = 1984, + journal = {Commun. {ACM}}, + volume = 27, + number = 8, + pages = {761--763}, + doi = {10.1145/358198.358210}, + timestamp = {Wed, 14 Nov 2018 10:22:35 +0100}, + biburl = {https://dblp.org/rec/journals/cacm/Thompson84.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} +@inproceedings{MarcelFourne2023, + title = {It’s like flossing your teeth: On the Importance and Challenges of Reproducible Builds for Software Supply Chain Security}, + author = {Fourné, Marcel and Wermke, Dominik and Enck, William and Fahl, Sascha and Acar, Yasemin}, + year = 2023, + booktitle = {2023 IEEE Symposium on Security and Privacy (SP)}, + pages = {1527--1544}, + doi = {10.1109/SP46215.2023.10179320} +} +@inbook{Claerbout1992, + title = {Electronic documents give reproducible research a new meaning}, + author = {Jon F. Claerbout and Martin Karrenbach}, + year = 1992, + booktitle = {SEG Technical Program Expanded Abstracts 1992}, + pages = {601--604}, + doi = {10.1190/1.1822162}, + origdate = 1992 +} +@article{Collberg2012, + title = {Repeatability in Computer Systems Research}, + author = {Collberg, Christian and Proebsting, Todd A.}, + year = 2016, + month = feb, + journal = {Commun. ACM}, + publisher = {Association for Computing Machinery}, + address = {New York, NY, USA}, + volume = 59, + number = 3, + pages = {62–69}, + doi = {10.1145/2812803}, + issn = {0001-0782}, + issue_date = {March 2016}, + abstract = {To encourage repeatable research, fund repeatability engineering and reward commitments to sharing research artifacts.}, + numpages = 8 +} +@article{ESSAWY2020104753, + title = {A taxonomy for reproducible and replicable research in environmental modelling}, + author = {Bakinam T. Essawy and Jonathan L. Goodall and Daniel Voce and Mohamed M. Morsy and Jeffrey M. Sadler and Young Don Choi and David G. Tarboton and Tanu Malik}, + year = 2020, + journal = {Environmental Modelling & Software}, + volume = 134, + pages = 104753, + doi = {10.1016/j.envsoft.2020.104753}, + issn = {1364-8152}, + keywords = {Reproducibility, Replicability, Containers, Docker, Singularity}, + abstract = {Despite the growing acknowledgment of reproducibility crisis in computational science, there is still a lack of clarity around what exactly constitutes a reproducible or replicable study in many computational fields, including environmental modelling. To this end, we put forth a taxonomy that defines an environmental modelling study as being either 1) repeatable, 2) runnable, 3) reproducible, or 4) replicable. We introduce these terms with illustrative examples from hydrology using a hydrologic modelling framework along with cyberinfrastructure aimed at fostering reproducibility. Using this taxonomy as a guide, we argue that containerization is an important but lacking component needed to achieve the goal of computational reproducibility in hydrology and environmental modelling. Examples from hydrology are provided to demonstrate how new tools, including a user-friendly tool for containerization of computational analyses called Sciunit, can lower the barrier to reproducibility and replicability in the environmental modelling community.} +} +@book{NAP25303, + title = {Reproducibility and Replicability in Science}, + author = {National Academies of Sciences, Engineering, and Medicine}, + year = 2019, + publisher = {The National Academies Press}, + address = {Washington, DC}, + doi = {10.17226/25303}, + isbn = {978-0-309-48616-3}, + abstract = {One of the pathways by which the scientific community confirms the validity of a new scientific discovery is by repeating the research that produced it. When a scientific effort fails to independently confirm the computations or results of a previous study, some fear that it may be a symptom of a lack of rigor in science, while others argue that such an observed inconsistency can be an important precursor to new discovery.\nConcerns about reproducibility and replicability have been expressed in both scientific and popular media. As these concerns came to light, Congress requested that the National Academies of Sciences, Engineering, and Medicine conduct a study to assess the extent of issues related to reproducibility and replicability and to offer recommendations for improving rigor and transparency in scientific research.\nReproducibility and Replicability in Science defines reproducibility and replicability and examines the factors that may lead to non-reproducibility and non-replicability in research. Unlike the typical expectation of reproducibility between two computations, expectations about replicability are more nuanced, and in some cases a lack of replicability can aid the process of scientific discovery. This report provides recommendations to researchers, academic institutions, journals, and funders on steps they can take to improve reproducibility and replicability in science.} +} +@article{cacioppo2015social, + title = {Social, behavioral, and economic sciences perspectives on robust and reliable science}, + author = {Cacioppo, John T and Kaplan, Robert M and Krosnick, Jon A and Olds, James L and Dean, Heather}, + year = 2015 +} +@article{Schwab2000, + title = {Making scientific computations reproducible}, + author = {Schwab, M. and Karrenbach, N. and Claerbout, J.}, + year = 2000, + journal = {Computing in Science & Engineering}, + volume = 2, + number = 6, + pages = {61--67}, + doi = {10.1109/5992.881708} +} +@article{Barba2018, + title = {Terminologies for Reproducible Research}, + author = {Lorena A. Barba}, + year = 2018, + month = feb, + journal = {arXiv}, + doi = {10.48550/arXiv.1802.03311}, + eprint = {1802.03311}, + archiveprefix = {arXiv} +} +@article{Donoho2009, + title = {Reproducible Research in Computational Harmonic Analysis}, + author = {Donoho, David L. and Maleki, Arian and Rahman, Inam Ur and Shahram, Morteza and Stodden, Victoria}, + year = 2009, + journal = {Computing in Science & Engineering}, + volume = 11, + number = 1, + pages = {8--18}, + doi = {10.1109/MCSE.2009.15} +} +@article{Goodman2016, + title = {What does research reproducibility mean?}, + author = {Steven N. Goodman and Daniele Fanelli and John P. A. Ioannidis}, + year = 2016, + journal = {Science Translational Medicine}, + volume = 8, + number = 341, + pages = {341ps12--341ps12}, + doi = {10.1126/scitranslmed.aaf5027}, + abstract = {The language and conceptual framework of “research reproducibility” are nonstandard and unsettled across the sciences. The language and conceptual framework of “research reproducibility” are nonstandard and unsettled across the sciences. In this Perspective, we review an array of explicit and implicit definitions of reproducibility and related terminology, and discuss how to avoid potential misunderstandings when these terms are used as a surrogate for “truth.”} +} +@article{Peng2009, + title = {{Reproducible research and Biostatistics}}, + author = {Peng, Roger D.}, + year = 2009, + month = {07}, + journal = {Biostatistics}, + volume = 10, + number = 3, + pages = {405--408}, + doi = {10.1093/biostatistics/kxp014}, + issn = {1465-4644} +} +@article{Acm2018, + title = {Reproducibility in Scientific Computing}, + author = {Ivie, Peter and Thain, Douglas}, + year = 2018, + month = jul, + journal = {ACM Comput. Surv.}, + publisher = {Association for Computing Machinery}, + address = {New York, NY, USA}, + volume = 51, + number = 3, + doi = {10.1145/3186266}, + issn = {0360-0300}, + issue_date = {May 2019}, + abstract = {Reproducibility is widely considered to be an essential requirement of the scientific process. However, a number of serious concerns have been raised recently, questioning whether today’s computational work is adequately reproducible. In principle, it should be possible to specify a computation to sufficient detail that anyone should be able to reproduce it exactly. But in practice, there are fundamental, technical, and social barriers to doing so. The many objectives and meanings of reproducibility are discussed within the context of scientific computing. Technical barriers to reproducibility are described, extant approaches surveyed, and open areas of research are identified.}, + articleno = 63, + numpages = 36, + keywords = {computational science, replicability, reproducible, workflows, scientific computing, scientific workflow, scientific workflows, workflow, Reproducibility} +} +@article{Castillo1669, + title = {The Scientific Method: A Need for Something Better?}, + author = {M. Castillo}, + year = 2013, + journal = {American Journal of Neuroradiology}, + publisher = {American Journal of Neuroradiology}, + volume = 34, + number = 9, + pages = {1669--1671}, + doi = {10.3174/ajnr.A3401}, + issn = {0195-6108} +} +@article{abs-2104-06020, + title = {Reproducible Builds: Increasing the Integrity of Software Supply Chains}, + author = {Chris Lamb and Stefano Zacchiroli}, + year = 2021, + journal = {CoRR}, + volume = {abs/2104.06020}, + doi = {10.48550/arXiv.2104.06020}, + eprinttype = {arXiv}, + eprint = {2104.06020}, + timestamp = {Mon, 19 Apr 2021 16:45:47 +0200}, + biburl = {https://dblp.org/rec/journals/corr/abs-2104-06020.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} +@inproceedings{malka-hal-04430009, + title = {{Reproducibility of Build Environments through Space and Time}}, + author = {Malka, Julien and Zacchiroli, Stefano and Zimmermann, Th{\'e}o}, + year = 2024, + month = apr, + booktitle = {{46th International Conference on Software Engineering (ICSE 2024) - New Ideas and Emerging Results (NIER) Track}}, + address = {Lisbonne, Portugal}, + doi = {10.48550/arXiv.2402.00424}, + keywords = {reproducibility ; development environment ; functional package management ; nix}, + pdf = {https://arxiv.org/pdf/2402.00424}, + hal_id = {hal-04430009}, + hal_version = {v1} +} +@article{TSE2019, + title = {What Do Package Dependencies Tell Us About Semantic Versioning?}, + author = {Decan, Alexandre and Mens, Tom}, + year = 2021, + journal = {IEEE Transactions on Software Engineering}, + volume = 47, + number = 6, + pages = {1226--1240}, + doi = {10.1109/TSE.2019.2918315}, + keywords = {Ecosystems;Software;Semantics;Packaging;Libraries;Java;Computer bugs;Software engineering;distribution, maintenance, and enhancement;maintainability;version control;metrics/measurement;reusable software;reusable libraries;configuration management;software release management and delivery} +} +@inproceedings{malka-hal-04482192, + title = {{Increasing Trust in the Open Source Supply Chain with Reproducible Builds and Functional Package Management}}, + author = {Malka, Julien}, + year = 2024, + month = apr, + booktitle = {{46th International Conference on Software Engineering (ICSE 2024) - Doctoral Symposium (DS) Track}}, + address = {Lisbonne, Portugal}, + doi = {10.1145/3639478.3639806}, + url = {https://hal.science/hal-04482192}, + keywords = {Software supply chain ; Reproducible builds ; Functional package management}, + pdf = {https://hal.science/hal-04482192/file/main.pdf}, + hal_id = {hal-04482192}, + hal_version = {v1} +} +@inproceedings{solarwinds-9579611, + title = {Solar Winds Hack: In-Depth Analysis and Countermeasures}, + author = {Alkhadra, Rahaf and Abuzaid, Joud and AlShammari, Mariam and Mohammad, Nazeeruddin}, + year = 2021, + booktitle = {2021 12th International Conference on Computing Communication and Networking Technologies (ICCCNT)}, + pages = {1--7}, + doi = {10.1109/ICCCNT51525.2021.9579611}, + keywords = {Technological innovation;Computer hacking;Shape;Supply chains;Government;Companies;Software systems;cybersecurity;hack;malware;cyberattack;supply chain;supply chain attack} +} +@article{mueller2012stuxnet, + title = {The stuxnet worm}, + author = {Mueller, Paul and Yadegari, Babak}, + year = 2012, + journal = {Département des sciences de l'informatique, Université de lArizona}, + url = {https://www2.cs.arizona.edu/~collberg/Teaching/466-566/2012/Resources/presentations/topic9-final/report.pdf} +} +@article{Heartbleed101, + title = {Heartbleed 101}, + author = {Carvalho, Marco and DeMott, Jared and Ford, Richard and Wheeler, David A.}, + year = 2014, + journal = {IEEE Security & Privacy}, + volume = 12, + number = 4, + pages = {63--67}, + doi = {10.1109/MSP.2014.66}, + keywords = {Electronic commerce;Software development;Payloads;Privacy;Computer crashes;Resource management;cybercrime;security;hackers;Heartbleed} +} +@misc{ReproducibleBuildsOrg, + title = {Reproducible Builds Website}, + author = {{Reproducible Builds}}, + year = 2015, + url = {https://reproducible-builds.org/} +} +@book{LibCManual, + title = {The GNU C library reference manual}, + author = {Loosemore, Sandra and Stallman, Richard and McGrath, Roland and Oram, Andrew and Drepper, Ulrich}, + year = 2023, + url = {https://sourceware.org/glibc/manual/2.39/pdf/libc.pdf} +} +@book{tlpi, + title = {The Linux Programming Interface: A Linux and UNIX System Programming Handbook}, + author = {Kerrisk, Michael}, + year = 2010, + publisher = {No Starch Press}, + address = {USA}, + isbn = 1593272200, + edition = {1st}, +} +@misc{diffoscope, + title = {diffoscope}, + author = {{Reproducible Builds}}, + year = 2014, + url = {https://diffoscope.org} +} +@misc{strip-nondeterminism, + title = {Strip Nondeterminism}, + author = {{Strip Nondeterminism}}, + year = 2014, + url = {https://salsa.debian.org/reproducible-builds/strip-nondeterminism} +} +@article{courtes_2022_6581453, + title = {Building a Secure Software Supply Chain with GNU Guix}, + author = {Courtès, Ludovic}, + year = 2022, + month = jun, + journal = {The Art, Science, and Engineering of Programming}, + publisher = {Aspect-Oriented Software Association (AOSA)}, + volume = 7, + number = 1, + doi = {10.22152/programming-journal.org/2023/7/1}, + issn = {2473-7321} +} +@misc{acm_artifact_review_badging, + title = {Artifact Review and Badging}, + author = {{Association for Computing Machinery}}, + year = 2020, + url = {https://www.acm.org/publications/policies/artifact-review-and-badging-current}, + shortauthor = {ACM} +} +@phdthesis{Dolstra2006, + title = {The Purely Functional Software Deployment Model}, + author = {Dolstra, Eelco}, + year = 2006, + month = jan, + address = {Utrecht, The Netherlands}, + url = {https://dspace.library.uu.nl/handle/1874/7540}, + tags = {programming languages, rule-based, deployment, completeness, meta programming, software components, meta-model, modeling language, modeling, language modeling, functional programming, software component, source-to-source, information models, programming, Meta-Environment, process modeling, systematic-approach, open-source}, + researchr = {https://researchr.org/publication/Dolstra2006}, + school = {Utrecht University}, + advisor = {Eelco Visser and S. Doaitse Swierstra} +} +@misc{guixwebsite, + title = {Guix Website}, + author = {{Guix}}, + year = 2012, + url = {https://guix.gnu.org/} +} +@misc{courtes2013functional, + title = {Functional Package Management with Guix}, + author = {Courtès, Ludovic}, + year = 2013, + doi = {10.48550/arXiv.1305.4584}, + eprint = {1305.4584}, + archiveprefix = {arXiv}, + primaryclass = {cs.PL} +} +@misc{fsfwebsite, + title = {The Free Software Foundation}, + author = {{Free Software Foundation}}, + year = 1985, + url = {https://www.fsf.org/} +} +@misc{opencontainerinitiative, + title = {Open Container Initiative}, + author = {{Open Container Initiative}}, + year = 2015, + url = {https://opencontainers.org/} +} +@misc{podman, + title = {Podman}, + author = {{Podman}}, + year = 2018, + url = {https://podman.io/} +} +@software{kubernetes, + title = {Kubernetes}, + author = {{Kubernetes}}, + year = 2014, + url = {https://kubernetes.io/} +} +@misc{docker, + title = {Docker}, + author = {{Docker, Inc.}}, + year = 2013, + url = {https://www.docker.com/} +} +@misc{dockerhub, + title = {Docker Hub}, + author = {{Docker, Inc.}}, + year = 2013, + url = {https://hub.docker.com/} +} +@misc{nix, + title = {Nix}, + author = {{Nix}}, + year = 2003, + url = {https://nixos.org/} +} +@misc{Executive-Order-14028, + title = {Executive Order 14028: Improving the Nation's Cybersecurity}, + author = {{Joe Biden}}, + year = 2021, + url = {https://www.federalregister.gov/d/2021-10460} +} +@software{typst, + title = {{Typst}}, + author = {Mädje, Laurenz and Haug, Martin and {The Typst Project Developers}}, + url = {https://github.com/typst/typst}, + license = {Apache-2.0} +} +@misc{typstdoc, + title = {Typst documentation website}, + author = {{Typst Documentation}}, + year = 2023, + url = {https://typst.app/docs/} +} +@article{hinsenKonrad2020guix, + title = {Reproducible computations with Guix}, + author = {Hinsen, Konrad}, + year = 2020, + url = {https://guix.gnu.org/en/blog/2020/reproducible-computations-with-guix/} +} +@online{drupolPrOnNix, + title = {Pol Dellaiera's pull requests in the Nix project}, + author = {{Github NixOS project}}, + year = 2021, + url = {https://github.com/NixOS/nixpkgs/pulls?page=1&q=is%3Apr+is%3Aclosed+author%3Adrupol} +} +@misc{drupolReviewOnNix, + title = {Pol Dellaiera's reviews in the Nix project}, + author = {{Github NixOS project}}, + year = 2021, + url = {https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aclosed+reviewed-by%3Adrupol} +} +@misc{drupolPhpBuilderOnNix, + title = {Nix builder for PHP applications}, + author = {{Github NixOS project}}, + year = 2021, + url = {https://github.com/NixOS/nixpkgs/pull/225401} +} +@misc{drupolComposerReproduciblePr, + title = {Composer reproducible pull request}, + author = {{Github Composer project}}, + year = 2021, + url = {https://github.com/composer/composer/pull/11663} +} +@misc{drupolIpc2023Talk, + title = {Leverage Nix in the PHP ecosystem}, + author = {{International PHP Conference}}, + year = 2023, + url = {https://phpconference.com/web-development/leveraging-nix-php-ecosystem/} +} +@misc{drupolPhpunitPR5576, + title = {Add composer.lock}, + author = {{Github PHPunit project}}, + year = 2023, + url = {https://github.com/sebastianbergmann/phpunit/pull/5576} +} +@misc{drupolPsyshIssue767, + title = {Consider adding a composer.lock file in the repository}, + author = {{Github Psysh project}}, + year = 2023, + url = {https://github.com/bobthecow/psysh/issues/767} +} +@misc{drupolGrumphpIssue1095, + title = {Consider adding a composer.lock file in the repository}, + author = {{Github GrumPHP project}}, + year = 2023, + url = {https://github.com/phpro/grumphp/issues/1095} +} +@misc{drupolPsalmIssue10446, + title = {Adding composer.lock in VCS ?}, + author = {{Github Psalm project}}, + year = 2023, + url = {https://github.com/vimeo/psalm/issues/10446} +} +@misc{drupolPhpmdIssue1056, + title = {Adding composer.lock in VCS ?}, + author = {{Github PHPMD project}}, + year = 2023, + url = {https://github.com/phpmd/phpmd/issues/1056} +} +@misc{drupolPhpCsFixerIssue7590, + title = {Publish composer.lock for each release}, + author = {{Github PHP-CS-Fixer project}}, + year = 2023, + url = {https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7590} +} +@misc{drupolPhpParallelLintIssue153, + title = {Adding composer.lock under VCS ?}, + author = {{Github PHP Parallel Lint project}}, + year = 2023, + url = {https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues/153} +} +@misc{drupolRBPR102, + title = {flake: add Nix flake files}, + author = {{Reproducible Builds project}}, + year = 2023, + url = {https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/102} +} +@misc{joinupSignal, + title = {European Commission to use open source messaging service Signal}, + author = {{Joinup - Open Source Observatory}}, + year = 2020, + url = {https://joinup.ec.europa.eu/collection/open-source-observatory-osor/news/signal-messaging-service} +} +@software{signalApp, + title = {Signal, A private messenger}, + author = {{Signal Foundation}}, + year = 2013, + url = {https://https://signal.org} +} +@misc{openAIKeynote2023, + title = {OpenAI DevDay: Opening Keynote}, + author = {Sam Altman}, + year = 2023, + url = {https://youtu.be/U9mJuUkhUzk?t=421} +} +@misc{NixOS, + title = {NixOS}, + author = {Eelco Dolstra}, + year = 2003, + url = {https://nixos.org/} +} +@misc{typstReproducibleBuildIssue1, + title = {Enhancing reproducibility of Typst documents with SOURCE_DATE_EPOCH}, + author = {{Github Typst project}}, + year = 2024, + url = {https://github.com/typst/typst/issues/3806} +} +@book{clarke1973, + title = {Profiles of the Future; an Inquiry into the Limits of the Possible}, + author = {Clarke, Arthur C.}, + year = 1973, + publisher = {Harper & Row} +} +@misc{typstReproducibleBuildIssue2, + title = {More control over typst compilation environment}, + author = {{Github Typst project}}, + year = 2024, + url = {https://github.com/typst/typst/issues/3892} +} +@misc{drupolRBPR113, + title = {Add bibliography.bib file to the repository and update Academic Publications page accordingly}, + author = {{Reproducible Builds project}}, + year = 2023, + url = {https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/113} +} +@misc{drupolRBPR114, + title = {buy-in: add SBOM and ephemeral development environments}, + author = {{Reproducible Builds project}}, + year = 2023, + url = {https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/114} +} +@misc{php, + title = {PHP}, + author = {Rasmus Lerdorf}, + year = 1994, + url = {https://php.net/} +} +@misc{composer, + title = {Composer}, + author = {Adermann, Nils and Boggiano, Jordi}, + year = 2011, + url = {https://getcomposer.org/} +} +@misc{CVE-2024-3094, + title = {{CVE}-2024-3094}, + author = {{National Institute of Standards and Technology}}, + year = 2024, + month = mar, + url = {https://nvd.nist.gov/vuln/detail/CVE-2024-3094}, + urldate = {7 April 2024} +} +@misc{xz, + title = {XZ Utils}, + author = {Lasse Collin}, + year = 2009, + url = {https://tukaani.org/xz/} +} +@misc{devs-profile, + title = {Devs profile}, + author = {{European Commission}}, + year = 2022, + url = {https://code.europa.eu/ecphp/devs-profile} +} +@misc{ecphpSessions, + title = {ECPHP Sessions}, + author = {{European Commission}}, + year = 2020, + url = {https://code.europa.eu/ecphp/sessions} +} +@online{teb, + title = {La Tronche En Biais}, + author = {Thomas C. Durand and Vled Tapas}, + url = {https://www.youtube.com/user/TroncheEnBiais}, + date = 2014, + organization = {Youtube} +} +@online{teb-r13y-crisis-lib, + title = {SCIENCES : Une crise de reproductibilité des études ?}, + author = {Thomas C. Durand and Vled Tapas}, + url = {https://www.youtube.com/watch?v=OA8Eki7fvAw}, + date = 2024, + organization = {La Tronche En Biais} +} +@article{Larigaldie2024, + title = {eyeScrollR: A software method for reproducible mapping of eye-tracking data from scrollable web pages}, + author = {Larigaldie, Nathanael and Dreneva, Anna and Orquin, Jacob L.}, + year = 2024, + month = feb, + day = 12, + journal = {Behavior Research Methods}, + doi = {10.3758/s13428-024-02343-1}, + issn = {1554-3528}, + abstract = {The Internet has become an important part of our lives and an increasing number of researchers use eye-tracking technology to examine attention and behavior in online environments. Researchers, however, face a significant challenge in mapping eye-tracking data from scrollable web pages. We describe the R package eyeScrollR for mapping eye-tracking data from scrollable content such as web pages. The package re-maps eye-tracking gaze coordinates to full-page coordinates with a deterministic algorithm based on mouse scroll data. The package includes options for handling common situations, such as sticky menus or ads that remain visible when the user scrolls. We test the package's validity in different hardware and software settings and on different web pages and show that it is highly accurate when tested against manual coding. Compared to current methods, eyeScrollR provides a more reproducible and reliable approach for mapping eye-tracking data from scrollable web pages. With its open code and free availability, we recommend eyeScrollR as an essential tool for eye-tracking researchers, particularly those who adhere to open-science principles. The eyeScrollR package offers a valuable contribution to the field of eye-tracking research, facilitating accurate and standardized analysis of eye-tracking data in web scrolling contexts.} +} +@article{peng2011, + title = {Reproducible Research in Computational Science}, + author = {Roger D. Peng}, + year = 2011, + journal = {Science}, + volume = 334, + number = 6060, + pages = {1226--1227}, + doi = {10.1126/science.1213847}, + abstract = {Computational science has led to exciting new developments, but the nature of the work has exposed limitations in our ability to evaluate published findings. Reproducibility has the potential to serve as a minimum standard for judging scientific claims when full independent replication of a study is not possible.} +} +@misc{gnumake, + title = {GNU Make}, + author = {{The Free Software Foundation}}, + url = {https://www.gnu.org/software/make/} +} +@misc{drupolPhpBuilderOnNixV2, + title = {Nix builder for PHP applications, version 2}, + author = {{Github NixOS project}}, + year = 2024, + url = {https://github.com/NixOS/nixpkgs/pull/308059} +} +@misc{PhpSrcReproduciblePhar, + title = {Make PHAR reproducible}, + year = 2023, + url = {https://github.com/theseer/Autoload/issues/114} +} +@misc{drupolRBMonthlyReports, + title = {{Git repository of the reproducible-builds.org website}}, + year = 2024, + url = {https://salsa.debian.org/reproducible-builds/reproducible-website/-/commits/master?author=Pol%20Dellaiera} +} +@misc{SignalReproducible, + title = {Reproducible Signal builds for Android}, + year = 2016, + url = {https://signal.org/blog/reproducible-android/} +} +@misc{TelegramReproducible, + title = {Reproducible Builds for iOS and Android}, + year = 2019, + url = {https://telegram.org/blog/verifiable-apps-and-more} +} +@misc{ghActions, + title = {GitHub Actions}, + url = {https://github.com/features/actions} +} +@misc{sri, + title = {Subresource Integrity. W3C Recommendation. W3C}, + author = {Akhawe, Devdatta and Braun, Frederik and Marier, Francois and Weinberger, Joel}, + year = 2016, + url = {https://www.w3.org/TR/SRI/} +} +@software{terraform, + title = {Terraform}, + author = {{HashiCorp}}, + year = 2014, + url = {https://www.terraform.io/} +} +@software{chef, + title = {Chef}, + author = {{Chef}}, + year = 2009, + url = {https://www.chef.io/} +} +@software{puppet, + title = {Puppet}, + author = {{Puppet}}, + year = 2005, + url = {https://puppet.com/} +} +@software{ansible, + title = {Ansible}, + author = {{Ansible}}, + year = 2012, + url = {https://www.ansible.com/} +} +@misc{devcontainer, + title = {Developing inside a Container}, + author = {{Visual Studio Code}}, + year = 2021, + url = {https://containers.dev/} +} +@software{vscode, + title = {Visual Studio Code}, + author = {{Microsoft}}, + year = 2015, + url = {https://code.visualstudio.com/} +} +@software{git, + title = {Git}, + author = {Linus Torvalds}, + year = 2005, + url = {https://git-scm.com/} +} +@misc{nix24release, + title = {Nix 2.4 release announcement}, + author = {Eelco Dolstra}, + year = 2021, + url = {https://discourse.nixos.org/t/nix-2-4-released/15822} +} + +@inbook{swh, + title = {The Software Heritage Open Science Ecosystem}, + isbn = {9783031360602}, + doi = {10.1007/978-3-031-36060-2_2}, + booktitle = {Software Ecosystems}, + publisher = {Springer International Publishing}, + author = {Cosmo, Roberto Di and Zacchiroli, Stefano}, + year = {2023}, + pages = {33–61} +} + +@inproceedings{10-1007-978-3-319-27308-2_47, + author = {Courtès, Ludovic and Wurmus, Ricardo}, + title = {Reproducible and User-Controlled Software Environments in HPC with Guix}, + booktitle = {Euro-Par 2015: Parallel Processing Workshops}, + year = {2015}, + publisher = {Springer International Publishing}, + address = {Cham}, + pages = {579--591}, + abstract = {Support teams of high-performance computing (HPC) systems often find themselves between a rock and a hard place: on one hand, they understandably administrate these large systems in a conservative way, but on the other hand, they try to satisfy their users by deploying up-to-date tool chains as well as libraries and scientific software. HPC system users often have no guarantee that they will be able to reproduce results at a later point in time, even on the same system---software may have been upgraded, removed, or recompiled under their feet, and they have little hope of being able to reproduce the same software environment elsewhere. We present GNU Guix and the functional package management paradigm and show how it can improve reproducibility and sharing among researchers with representative use cases.}, + isbn = {978-3-319-27308-2}, + doi = {10.1007/978-3-319-27308-2_47} +} + +@misc{octoverse2022, + title = {The State of the Octoverse 2022}, + author = {{GitHub}}, + year = 2022, + url = {https://octoverse.github.com/2022/state-of-open-source} +} + +@misc{purl, + title = {PURL Specification}, + author = {Philippe Ombredanne}, + year = 2017, + month = Nov, + url = {https://github.com/package-url/purl-spec} +} + +@article{preston2013semantic, + title = {Semantic Versioning 2.0. 0}, + author = {Preston-Werner, Tom}, + journal = {l{\'\i}nea]. Available: http://semver. org}, + year = {2013} +} + +@book{CRA, + author = {{European Commission} and {DG CNECT}}, + title = {Cyber Resilience Act}, + year = {2022}, + url = {https://ec.europa.eu/newsroom/dae/redirection/document/89543} +} + +@inproceedings{hal-01865790, + title = {{Identifiers for Digital Objects: the Case of Software Source Code Preservation}}, + author = {Di Cosmo, Roberto and Gruenpeter, Morane and Zacchiroli, Stefano}, + url = {https://hal.science/hal-01865790}, + booktitle = {{iPRES 2018 - 15th International Conference on Digital Preservation}}, + address = {Boston, United States}, + pages = {1-9}, + year = {2018}, + month = Sep, + doi = {10.17605/OSF.IO/KDE56}, + pdf = {https://hal.science/hal-01865790v4/file/main.pdf}, + hal_id = {hal-01865790}, + hal_version = {v4}, +} + +@misc{nixpkgs-pull-256270, + title = {stdenv: option to determine SOURCE_DATE_EPOCH in fetchers}, + author = {{Github NixOS project}}, + year = 2023, + month = Sep, + url = {https://github.com/NixOS/nixpkgs/pull/256270}, +} + +@software{guile, + title = {GNU Guile}, + author = {{GNU Guile}}, + year = 1993, + url = {https://www.gnu.org/software/guile/} +} + +@book{dybvig2009scheme, + title = {The SCHEME programming language}, + author = {Dybvig, R Kent}, + year = {2009}, + publisher = {Mit Press} +} + +@misc{PolMasterThesis, + title = {Reproducibility in Software Engineering}, + author = {Dellaiera, Pol}, + year = 2024, + url = {https://github.com/drupol/master-thesis} +} + +@misc{CCBy40, + title = {Creative Commons Attribution 4.0 International}, + author = {{Creative Commons}}, + year = 2013, + url = {https://creativecommons.org/licenses/by/4.0/} +} + +@misc{HypocraticLicence, + title = {The Hippocratic License 3.0}, + author = {Ada Ehmke, Coraline}, + url = {https://firstdonoharm.dev/} +} + +@misc{ITripleE, + title = {IEEE website}, + author = {{IEEE}}, + year = 1963, + url = {https://www.ieee.org/} +} + +@misc{r13yBuildScenarios, + title = {Reproducibility in Software Engineering}, + author = {Dellaiera, Pol}, + year = 2024, + url = {https://github.com/drupol/r13y-build-scenarios/} +} + +@misc{drupolNixpkgsCommitter, + title = {Nixpkgs committer}, + year = 2023, + url = {https://github.com/orgs/NixOS/teams/nixpkgs-committers?query=drupol} +} + +@misc{NewComputerModern, + title = {The New Computer Modern Font CTAN project}, + author = {Tsolomitis, Antonis}, + year = 2019, + url = {https://ctan.org/pkg/newcomputermodern} +} + +@misc{spdx, + title = {Software Package Data Exchange (SPDX)}, + author = {{Software Package Data Exchange}}, + year = 2010, + url = {https://spdx.org/} +} + +@misc{cyclonedx, + title = {CycloneDX}, + author = {{CycloneDX}}, + year = 2019, + url = {https://cyclonedx.org/} +} + +@misc{SWHArchive, + title = {Software Heritage Archive Website}, + author = {{Software Heritage Archive}}, + year = 2016, + url = {https://archive.softwareheritage.org/} +} + +@misc{DrupolNixCommitter, + title = {Nixpkgs committer grant}, + author = {Dellaiera, Pol}, + year = 2023, + url = {https://github.com/NixOS/nixpkgs/issues/50105#issuecomment-1571885173} +} + +@misc{NixpkgsCommitters, + title = {Nixpkgs committers}, + author = {{Nixpkgs}}, + url = {https://github.com/orgs/NixOS/teams/nixpkgs-committers} +} + +@misc{lix, + title = {Lix}, + author = {{Lix}}, + year = 2024, + url = {https://lix.systems/} +} + +@misc{githubSBOMPURL, + title = {Generated SBOM files will now include a package URL when a manifest file includes a range}, + author = {{GitHub}}, + year = 2024, + url = {https://github.blog/changelog/2024-06-11-generated-sbom-files-will-now-include-a-package-url-when-a-manifest-file-includes-a-range/} +} + +@misc{SoN200PolDellaiera, + title = {Summer Of Nix 2022 - State of Nix at European Commission}, + author = {Dellaiera, Pol}, + year = 2022, + url = {https://www.youtube.com/watch?v=I7wdcJ3YhoU} +} + +@misc{ArXiV, + title = {arXiv}, + author = {{arXiv}}, + year = 1991, + url = {https://arxiv.org/} +} + +@misc{aux, + title = {Aux}, + author = {{Aux}}, + year = 2024, + url = {https://aux.computer/} +} + +@book{HunterGCP, + title = "Google Cloud Platform for Developers", + author = "Hunter, Ted and Porter, Steven", + publisher = "Packt Publishing", + month = jul, + year = 2018, + address = "Birmingham, England" +} + +@inproceedings{Traugott2002, + author = {Traugott, Steve}, + year = {2002}, + month = {01}, + pages = {99-120}, + title = {Why Order Matters: Turing Equivalence in Automated Systems Administration.} +} + +@article{SurveyFlakyTests, + author = {Parry, Owain and Kapfhammer, Gregory M. and Hilton, Michael and McMinn, Phil}, + title = {A Survey of Flaky Tests}, + year = {2021}, + issue_date = {January 2022}, + publisher = {Association for Computing Machinery}, + address = {New York, NY, USA}, + volume = {31}, + number = {1}, + issn = {1049-331X}, + doi = {10.1145/3476105}, + abstract = {Tests that fail inconsistently, without changes to the code under test, are described as flaky. Flaky tests do not give a clear indication of the presence of software bugs and thus limit the reliability of the test suites that contain them. A recent survey of software developers found that 59\% claimed to deal with flaky tests on a monthly, weekly, or daily basis. As well as being detrimental to developers, flaky tests have also been shown to limit the applicability of useful techniques in software testing research. In general, one can think of flaky tests as being a threat to the validity of any methodology that assumes the outcome of a test only depends on the source code it covers. In this article, we systematically survey the body of literature relevant to flaky test research, amounting to 76 papers. We split our analysis into four parts: addressing the causes of flaky tests, their costs and consequences, detection strategies, and approaches for their mitigation and repair. Our findings and their implications have consequences for how the software-testing community deals with test flakiness, pertinent to practitioners and of interest to those wanting to familiarize themselves with the research area.}, + journal = {ACM Trans. Softw. Eng. Methodol.}, + month = {oct}, + articleno = {17}, + numpages = {74}, + keywords = {Flaky tests, software testing} +} + +@misc{barba2022definingroleopensource, + title = {Defining the role of open source software in research reproducibility}, + author = {Lorena A. Barba}, + year = {2022}, + eprint = {2204.12564}, + archivePrefix = {arXiv}, + primaryClass = {cs.CY}, + url = {https://arxiv.org/abs/2204.12564}, +} diff --git a/src/thesis/main.typ b/src/thesis/main.typ new file mode 100644 index 0000000..292f514 --- /dev/null +++ b/src/thesis/main.typ @@ -0,0 +1,49 @@ +#import "imports/preamble.typ": * +#import "theme/template.typ": * + +#set document( + title: title, + author: author, + date: none, + keywords: ( + "university", + "umons", + "june 2024", + "master thesis", + "reproducibility", + "r13y", + "compilation", + "docker", + "nix", + "guix", + ), +) + +#show: project.with( + title: title, + university: university, + faculty: faculty, + degree: degree, + program: program, + supervisor: supervisor, + advisors: advisors, + author: author, + startDate: startDate, + submissionDate: submissionDate, + disclaimer: include "disclaimer.typ", + acknowledgement: include "acknowledgement.typ", + abstract: include "abstract.typ", + glossary: include "glossary.typ", + accessibility: include "accessibility.typ", + extra: include "extra.typ" +) + +#include "1-introduction.typ" + +#include "2-reproducibility.typ" + +#leftblank(weak: false) + +#include "3-tools.typ" + +#include "4-conclusion.typ" diff --git a/src/thesis/theme/UMONS-fs-logo.typ b/src/thesis/theme/UMONS-fs-logo.typ new file mode 100644 index 0000000..b4d1bf5 --- /dev/null +++ b/src/thesis/theme/UMONS-fs-logo.typ @@ -0,0 +1,15 @@ +#import "./common/metadata.typ": * +#import "./colors.typ": * + +#{ + set text(font: "Liberation Sans") + set par(leading: 6pt) + box[#image("./UMONS_FS-logo.svg", height: 60pt)] + box[ + #v(.7em) + #text(size: .3em, fill: umons-grey)[ + Faculty of\ + sciences + ] + ] +} diff --git a/src/thesis/theme/UMONS-logo.svg b/src/thesis/theme/UMONS-logo.svg new file mode 100644 index 0000000..6644d21 --- /dev/null +++ b/src/thesis/theme/UMONS-logo.svg @@ -0,0 +1,73 @@ + + + + + + + + UMONS + University of Mons + + + diff --git a/src/thesis/theme/UMONS-logo.typ b/src/thesis/theme/UMONS-logo.typ new file mode 100644 index 0000000..7d2e58c --- /dev/null +++ b/src/thesis/theme/UMONS-logo.typ @@ -0,0 +1,21 @@ +#import "./common/metadata.typ": * +#import "./colors.typ": * + +#{ + set text(font: "Liberation Sans") + set align(right) + set par(leading: 6pt) + { + set text(weight: 300) + upper[ + #text(fill: umons-grey)[#underline( + offset: 4pt, + stroke: umons-red, + )[U]]#text(fill: umons-red)[mons]\ + ] + } + { + set text(size: .35em, weight: 250) + text(fill: umons-grey)[University of Mons] + } +} diff --git a/src/thesis/theme/UMONS_FS-logo.svg b/src/thesis/theme/UMONS_FS-logo.svg new file mode 100644 index 0000000..44ef35d --- /dev/null +++ b/src/thesis/theme/UMONS_FS-logo.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/thesis/theme/UMONS_FS.svg b/src/thesis/theme/UMONS_FS.svg new file mode 100644 index 0000000..559c76f --- /dev/null +++ b/src/thesis/theme/UMONS_FS.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + Faculty of sciences + + diff --git a/src/thesis/theme/abstract.typ b/src/thesis/theme/abstract.typ new file mode 100644 index 0000000..6d1ff8e --- /dev/null +++ b/src/thesis/theme/abstract.typ @@ -0,0 +1,9 @@ +#import "common/metadata.typ": * + +#let abstract(title: "Abstract", body) = { + pagebreak(weak: true) + + heading(level: 1, title, outlined: false) + + body +} diff --git a/src/thesis/theme/acknowledgement.typ b/src/thesis/theme/acknowledgement.typ new file mode 100644 index 0000000..7aab802 --- /dev/null +++ b/src/thesis/theme/acknowledgement.typ @@ -0,0 +1,9 @@ +#import "common/metadata.typ": * + +#let acknowledgement(title: "Acknowledgements", body) = { + pagebreak(weak: true) + + heading(level: 1, title, outlined: false) + + body +} diff --git a/src/thesis/theme/colors.typ b/src/thesis/theme/colors.typ new file mode 100644 index 0000000..11441d6 --- /dev/null +++ b/src/thesis/theme/colors.typ @@ -0,0 +1,7 @@ +// Source: https://web.umons.ac.be/app/uploads/sites/8/2017/07/REF-COULEURS-FACS-UMONS.pdf +#let umons-red = rgb(168, 0, 57) +#let umons-turquoise = rgb(0, 171, 204) +#let umons-grey = rgb(150, 150, 150) +#let umons-yellow = rgb(246, 167, 35) + +#let umons-faculty-sciences = rgb(2, 150, 135) diff --git a/src/thesis/theme/common/metadata.typ b/src/thesis/theme/common/metadata.typ new file mode 100644 index 0000000..5d01b2f --- /dev/null +++ b/src/thesis/theme/common/metadata.typ @@ -0,0 +1,55 @@ +// Enter your thesis data here: +#let title = "Reproducibility in Software Engineering" +#let subtitle = none +#let university = "University of Mons" +#let faculty = "Faculty of Sciences" +#let degree = "Master" +#let program = "Computer Science" +#let view = degree + "’s Thesis in " + program +#let supervisor = [#link("https://orcid.org/0000-0003-3636-5020")[Prof. Dr. Tom Mens#box(image("../../../../resources/images/ORCIDiD_iconvector.svg", width: 10pt))]] +#let advisors = none +#let author = "Pol Dellaiera" +#let authorOrcId = "0009-0008-7972-7160" +#let startDate = "2023 - 2024" +#let submissionDate = "12 June 2024" +#let body-font = "New Computer Modern" +#let sans-font = "New Computer Modern Sans" +#let page-margin = (inside: 3cm, outside: 2cm, top: 20mm, bottom: 20mm) +#let rev = if "rev" in sys.inputs { + sys.inputs.rev +} else { + "" +} +#let shortRev = if "shortRev" in sys.inputs { + sys.inputs.shortRev +} else { + "" +} +#let builddate = if "builddate" in sys.inputs { + sys.inputs.builddate +} else { + "" +} + +// Default font sizes from original LaTeX style file. +#let font-defaults = ( + tiny: 6pt, + scriptsize: 7pt, + footnotesize: 9pt, + small: 9pt, + normalsize: 10pt, + large: 12pt, + Large: 14pt, + LARGE: 17pt, + huge: 20pt, + Huge: 25pt, +) + +#let font = ( + Large: font-defaults.Large + 0.4pt, // Actual font size. + footnote: font-defaults.footnotesize, + large: font-defaults.large, + small: font-defaults.small, + normal: font-defaults.normalsize, + script: font-defaults.scriptsize, +) diff --git a/src/thesis/theme/common/titlepage.typ b/src/thesis/theme/common/titlepage.typ new file mode 100644 index 0000000..7e096ed --- /dev/null +++ b/src/thesis/theme/common/titlepage.typ @@ -0,0 +1,105 @@ +#import "metadata.typ": * + +#let titlepage( + title: "", + subtitle: "", + university: "", + faculty: "", + degree: "", + program: "", + supervisor: "", + advisors: (), + author: "", + authorOrcId: "", + startDate: none, + submissionDate: none, + rev: none, + shortRev: none, + builddate: none, +) = { + set page( + margin: (top: 1cm, left: 1cm, right: 1cm, bottom: 1cm), + numbering: none, + number-align: center, + header: { + place(top + left)[ + #pad(top: 10pt)[ + #set text(size: 4em) + #include "../UMONS-fs-logo.typ" + ] + ] + place(top + right)[ + #pad(top: 10pt)[ + #set text(size: 4em) + #include "../UMONS-logo.typ" + ] + ] + }, + footer: align( + center, + text(font: sans-font)[ + #faculty #sym.diamond.filled.small + #university #sym.diamond.filled.small + 20, Place du Parc #sym.diamond.filled.small + B-7000 Mons + ], + ), + ) + + set text( + font: body-font, + size: 12pt, + lang: "en", + ) + + place(center + horizon, dy: 3em)[ + #align(center, text(font: sans-font, 2em, weight: 700, title)) + + #if subtitle != none { + align(center, text(font: sans-font, 1em, weight: 700, subtitle)) + } + + #align(center, text(font: sans-font, 1.3em, weight: 100, view)) + + #grid( + columns: 3, + gutter: 1em, + align: (right, left, left), + strong("Author"), + ":", + { + link("https://orcid.org/" + authorOrcId)[#author#box( + image( + "../../../../resources/images/ORCIDiD_iconvector.svg", + width: 10pt, + ), + )] + }, + strong("Supervisor"), + ":", + supervisor, + ..if advisors != none { + (strong("Advisors"), ":", advisors.join(", ")) + }, + ..if startDate != none { + (strong("Academic year"), ":", startDate) + }, + ..if submissionDate != none { + (strong("Submission date"), ":", submissionDate) + }, + ..if builddate != "" { + (strong("Build date"), ":", builddate) + }, + ..if shortRev != "" { + ( + strong("Revision"), + ":", + link( + "https://github.com/drupol/master-thesis/commit/" + rev, + shortRev, + ), + ) + }, + ) + ] +} diff --git a/src/thesis/theme/definition.typ b/src/thesis/theme/definition.typ new file mode 100644 index 0000000..a8204ea --- /dev/null +++ b/src/thesis/theme/definition.typ @@ -0,0 +1,35 @@ +#import "infos.typ": * +#import "common/metadata.typ": * + +#let definition(term: none, name: none, content) = { + let kind = "Definition" + let supplement = upper(kind.first()) + lower(kind.slice(1)) + let name = if name == none { + "def-" + term + } else { + name + } + + show figure.where(kind: "definition"): it => info-box( + kind: "definition", + settings: (prefix: [#smallcaps[#it.caption]]), + )[ + #it.body + ] + show figure.caption.where(kind: "definition"): it => block( + width: 100%, + { + it + }, + ) + + [ + #figure( + kind: "definition", + supplement: [#supplement], + caption: term, + numbering: "1", + content, + ) #label(name) + ] +} diff --git a/src/thesis/theme/disclaimer.typ b/src/thesis/theme/disclaimer.typ new file mode 100644 index 0000000..6879d8a --- /dev/null +++ b/src/thesis/theme/disclaimer.typ @@ -0,0 +1,25 @@ +#import "common/metadata.typ": * + +#let disclaimer( + title: "", + degree: "", + author: "", + submissionDate: none, + signature: none, +) = { + pagebreak(weak: true) + + v(80%) + text("I confirm that this " + degree + "’s thesis is my own work and I have documented all sources and material used.") + + v(15mm) + grid( + columns: 2, + gutter: 1fr, + "Mons, " + submissionDate, + { + set align(right) + author + signature + }, + ) +} diff --git a/src/thesis/theme/glossary.typ b/src/thesis/theme/glossary.typ new file mode 100644 index 0000000..4cb936c --- /dev/null +++ b/src/thesis/theme/glossary.typ @@ -0,0 +1,20 @@ +#import "../imports/preamble.typ": * +#import "common/metadata.typ": * + +#let glossary( + title: "Glossary", + terms: (), +) = { + pagebreak(weak: true) + + [ + #{ + heading(level: 1, title, outlined: false) + } + ] + + + v(10mm) + + print-glossary(show-all: true, terms) +} diff --git a/src/thesis/theme/infos.typ b/src/thesis/theme/infos.typ new file mode 100644 index 0000000..c783c03 --- /dev/null +++ b/src/thesis/theme/infos.typ @@ -0,0 +1,147 @@ +#import "./colors.typ": * + +#let info-settings = ( + info: ( + prefix: none, + icon: "circle-info", + fill_color: umons-turquoise.lighten(90%), + stroke_color: umons-turquoise, + ), + cite: ( + prefix: none, + icon: "quote-left", + fill_color: rgb("#ffffff"), + stroke_color: black, + ), + definition: ( + prefix: [#underline(smallcaps[*Definition*])], + icon: "highlighter-solid", + fill_color: umons-faculty-sciences.lighten(90%), + stroke_color: umons-faculty-sciences, + ), + question: ( + prefix: none, + icon: "circle-question", + fill_color: umons-yellow.lighten(90%), + stroke_color: umons-yellow, + ), + important: ( + prefix: none, + icon: "circle-exclamation", + fill_color: rgb("#228B22").lighten(90%), + stroke_color: rgb("#228B22").darken(20%), + ), + conclusion: ( + prefix: none, + icon: "lightbulb-solid", + fill_color: umons-red.lighten(90%), + stroke_color: umons-red, + ), + good: ( + prefix: none, + icon: "circle-check", + fill_color: umons-grey.lighten(90%), + stroke_color: umons-grey.darken(20%), + ), + note: ( + prefix: [ *Note:* ], + icon: "note-sticky", + fill_color: umons-grey.lighten(90%), + stroke_color: umons-grey.darken(20%), + ), +); + +#let info-stroke(kind: "good") = info-settings.at(kind).stroke_color + +#let info-image(kind: "info", ..args) = { + let settings = info-settings.at(kind) + image("solid/" + settings.icon + ".svg", ..args, alt: settings.icon) +} + +#let info-box( + body, + settings: (:), + kind: "info", + radius: 5pt, + footer: none, + icon: true, + ref: none, +) = { + set par( + leading: 0.55em, + justify: true, + ) + + let settings = info-settings.at(kind) + settings + let extra = if footer == none { + none + } else { + v(.5em) + h(1fr) + text(size: .75em)[#footer] + } + + set align(left) + + box( + width: 0.8fr, + fill: settings.fill_color, + stroke: .5pt + settings.stroke_color, + radius: radius, + inset: 0pt, + )[ + #let body = if kind == "cite" { + quote(attribution: extra, quotes: false)[#emph(body)] + } else { + body + } + + #let contents = if icon { + ( + image( + "../../../resources/images/" + settings.icon + ".svg", + width: 32pt, + ), + ( + { + settings.prefix + body + extra + } + ), + ) + } else { + ( + { + settings.prefix + body + extra + } + ) + } + #figure( + kind: "info-box", + supplement: [Info box], + { + set align(left) + table( + columns: if icon { + (38pt, 1fr) + } else { + 1 + }, + inset: 10pt, + stroke: none, + column-gutter: 10pt, + ..contents, + ) + }, + ) #{ + if ref != none { + label(ref) + } else { + none + } + } + ] +} diff --git a/src/thesis/theme/leftblank.typ b/src/thesis/theme/leftblank.typ new file mode 100644 index 0000000..760d672 --- /dev/null +++ b/src/thesis/theme/leftblank.typ @@ -0,0 +1,17 @@ +#import "common/metadata.typ": * + +#let leftblank( + weak: true +) = { + pagebreak(weak: weak) + + set align(center) + + v(80%) + + text(fill: black.lighten(75%))[ + This page is intentionally left blank. + ] + + pagebreak(weak: true) +} diff --git a/src/thesis/theme/template.typ b/src/thesis/theme/template.typ new file mode 100644 index 0000000..6d534e3 --- /dev/null +++ b/src/thesis/theme/template.typ @@ -0,0 +1,306 @@ +#import "../imports/preamble.typ": * +#import "common/metadata.typ": * +#import "common/titlepage.typ": * +#import "disclaimer.typ": * +#import "leftblank.typ": * +#import "acknowledgement.typ": * +#import "abstract.typ": * +#import selectors: * + +#let getHeader() = { + locate(loc => { + let page-counter = counter(page) + let current = page-counter.at(loc).first() + + let chapter = hydra( + 1, + display: (_, it) => { + if it.numbering != none { + [#numbering(it.numbering, ..counter(heading).at(it.location())) - #it.body] + } + }, + ) + + let section = hydra( + selectors.by-level(min: 2), + display: (_context, element) => element.body, + ) + let items = (smallcaps(chapter), h(1fr), emph(section)) + + if calc.even(current) { + items.rev() + } else { + items + }.join() + + if (chapter != none) { + [#line(length: 100%, stroke: .2pt + rgb("#000000").lighten(65%))] + } + }) +} + +#let getFooter() = { + locate(loc => { + let page-counter = counter(page) + let current = page-counter.at(loc).first() + let items = ([#current], h(1fr), emph(title)) + + if calc.even(current) { + items + } else { + items.rev() + }.join() + }) +} + +#let chapterquote( + title: none, + ref: none, + quoteText: none, + quoteAttribution: none, +) = { + pagebreak() + + place(top + left, dx: 45pt, dy:45pt)[ + #rect(width: 50pt, height: 50pt, fill: rgb(125, 125, 125)) + ] + + place(top + left)[ + #rect(width: 70pt, height: 70pt, fill: rgb(0, 0, 0)) + ] + + v(10%) + + [ + #{ + heading(title, level: 1) + } + #label(ref) + ] + + if quoteText != none { + show quote: set pad(x: 0em) + quote( + block: true, + attribution: [#{ + if quoteAttribution != none { + cite(form: "prose", quoteAttribution) + } + }], + quoteText, + ) + } + + pagebreak() +} + +#let project( + title: "", + university: "", + faculty: "", + degree: "", + program: "", + supervisor: "", + advisors: (), + author: "", + startDate: none, + submissionDate: none, + disclaimer: none, + acknowledgement: none, + abstract: none, + glossary: none, + accessibility: none, + extra: none, + body, +) = { + // --- Page configuration --- + set page( + margin: page-margin, + numbering: "1", + number-align: center, + header: getHeader(), + footer: getFooter(), + paper: "a4", + ) + + titlepage( + title: title, + subtitle: subtitle, + university: university, + faculty: faculty, + degree: degree, + program: program, + supervisor: supervisor, + advisors: advisors, + author: author, + authorOrcId: authorOrcId, + startDate: startDate, + submissionDate: submissionDate, + rev: rev, + shortRev: shortRev, + builddate: builddate, + ) + + // --- Typography --- + set text( + font: body-font, + size: font.normal, + lang: "en", + hyphenate: false, + ) + + // --- Paragraphs --- + // Source: https://typst.app/docs/guides/guide-for-latex-users/ + set par(justify: true) + show par: set block(spacing: 1em) + + show ref: it => { + let el = it.element + + if el == none { + return it + } + + if el.has("level") and el.level == 1 { + let (chapter,) = counter(heading).at(el.label) + link(el.label)[Chapter #chapter] + } else if el.has("level") and el.level == 2 { + let (chapter, section) = counter(heading).at(el.label) + link(el.label)[Chapter #chapter, section #section] + } else if el.has("level") and el.level == 3 { + let (chapter, section, subsection) = counter(heading).at(el.label) + link(el.label)[Chapter #chapter, section #section.#subsection] + } else if el.has("level") and el.level == 4 { + let ( + chapter, + section, + subsection, + subsubsection, + ) = counter(heading).at(el.label) + link(el.label)[Chapter #chapter, subsection #section.#subsection.#subsubsection] + } else { + link(el.label)[#it] + } + } + + // --- Citations --- + set cite( + form: "prose", + style: "ieee", + ) + show cite: cite => { + underline(cite, stroke: .2pt + rgb("#000000").lighten(65%)) + } + + // --- Links --- + show link: it => { + underline(it, stroke: .2pt + rgb("#000000").lighten(65%)) + } + + leftblank(weak: false) + [#disclaimer] + leftblank(weak: false) + [#abstract] + leftblank(weak: false) + [#acknowledgement] + leftblank(weak: false) + [#accessibility] + [#extra] + [#glossary] + + leftblank(weak: false) + + { + // --- Table of Contents --- + { + set par( + leading: 0.45em, + justify: true, + ) + show outline.entry.where(level: 1): it => { + v(12pt, weak: true) + strong(it) + } + + heading(numbering: none, outlined: false)[Contents] + outline(title: "", indent: 1.5em, depth: 3) + } + + leftblank(weak: false) + + // --- Headings --- + set heading(numbering: "1.") + show heading.where(level: 1): set heading( + numbering: "I", + supplement: [Chapter], + ) + show heading.where(level: 2): set heading( + numbering: "1.", + supplement: [Section], + ) + show heading.where(level: 3): set heading( + numbering: "1.", + supplement: [Subsection], + ) + show heading.where(level: 1): it => block({ + set text( + 2em, + weight: "bold", + ) + v(8em) + if it.numbering != none [ + Chapter #numbering(it.numbering, ..counter(heading).at(it.location())) + #v(.5em) + ] + it.body + v(0.5em) + }) + + // --- Various outlines --- + show outline.entry.where(level: 1): it => { + v(1em, weak: true) + it + } + + // --- Raw text configuration --- + show raw.line: set text(font: "Inconsolata Nerd Font Mono") + + // --- Equations --- + show math.equation: set text(weight: 400) + + // --- Figures --- + show figure.caption: it => [*#it.supplement #it.counter.display()*: #it.body] + show figure.where(kind: "table"): set figure.caption(position: top) + body + } + + { + set par( + leading: 1em, + justify: true, + ) + + // List of definitions. + [#heading(numbering: none)[List of definitions] #label("list-of-definitions")] + outline(title: "", target: figure.where(kind: "definition")) + + leftblank(weak: false) + + // List of figures. + pagebreak() + [#heading(numbering: none)[List of figures] #label("list-of-figures")] + outline(title: "", target: figure.where(kind: image)) + + leftblank(weak: false) + + // List of tables. + pagebreak() + [#heading(numbering: none)[List of tables] #label("list-of-tables")] + outline(title: "", target: figure.where(kind: "table")) + + leftblank(weak: false) + + [#heading("Bibliography", level: 1, outlined: true) #label("bibliography")] + bibliography("../literature.bib", full: true, style: "ieee", title: none) + } +}