this repo has no description
at main 42 lines 2.0 kB view raw view rendered
1# Candelabra 2 3These are the supplementary materials for my thesis, Candelabra. 4 5 - `src/` is a Rust workspace containing the actual source code 6 - `analysis/` contains the benchmark results, and the Elixir livebook notebook used to process and visualise the data. 7 - `thesis/` contains the LaTeX code used to build the actual thesis, as well as VegaLite JSON files for graphs 8 9Check the `README` in each directory for more information. 10 11## Getting dependencies 12 13The easiest way to install the required dependencies is using Nix. 14After [installing it](https://nixos.org/download/), simply run one of the two commands below: 15 16 - `nix develop .#full` for a full environment with everything required to build the project, visualisations, and thesis. (approx 3.4G disk space) 17 - `nix develop .#minimal` for a smaller environment, with only enough to build the project and run tests (approx 1.9G disk space). 18 19You can also build the program itself with `nix build .#default`, or see below to run a test VM. 20 21Alternatively, manually set up the following programs: 22 23 - Rust nightly toolchain 2024-01-22 24 - Racket v8.10, with the `rosette` package installed - `raco pkg install rosette`. You may also need to manually install `z3`. 25 - [Just](https://crates.io/crates/just) 1.24.0 26 - To generate visualisations: 27 - [Livebook](https://livebook.dev/) 0.11.3 28 - [vega-cli](https://www.npmjs.com/package/vega-cli 5.26.0 29 - To build the thesis: 30 - Texlive, with the packages listed in `nix/tex-env.nix` 31 - `latexmk` 32 33Once you have dependencies installed, check the `README` in each directory for details on how to reproduce our results. 34 35## Building a testing VM 36 37The VM which we used for testing can be fully rebuilt by running `nix build .#vm`. This requires around 3.1G on disk. 38 39After building, run `./result/bin/run-candelabra-vm` to start it. 40The credentials are `root` / `candelabra`, and you can use SSH if desired. 41 42The VM has candelabra prebuilt as `candelabra-cli`, but no tools for visualisation or building the thesis.