In the host environment, 2 runs of the tracee without r4r, one run traced with r4rm leading to 2 outputs. Then a 4th run in the guest enviornment, leading to output 4.
Outputs 1 and 2 are compared to filter out non-deterministic notebooks, then outputs 3 and 4 are compared to find out non-reproducible notebooks with r4r.
We evaluated R4R on 120 R Markdown notebooks from GitHub by running them with, and without R4R, and comparing the html outputs.
On notebooks that execute, and already have the same result on the same host, we only have 2 notebooks that fail to reproduce with R4R.
14.08.2025 21:34 — 👍 0 🔁 0 💬 0 📌 0
The R4R pipeline: front-end with tracing, middle-end with file resolving to R and system packages, and edition of a manifest, and backend with Dockerfile generation. Then the user can build the Docker image with make and rerun the R code to check the output.
We use dynamic tracing with ptrace to intercept file-related system calls, and resolve the paths to system or R packages. You can edit the results in a manifest, and then a Docker image is generated.
14.08.2025 21:34 — 👍 0 🔁 0 💬 1 📌 0
GitHub - r-tooling/r4r: Monorepo for everything linked to the r4r project
Monorepo for everything linked to the r4r project. Contribute to r-tooling/r4r development by creating an account on GitHub.
R4R is a tool for creating a reproducible environment from a dynamic program trace, from our lab in Prague.
From a R script/notebook, it generates a Docker image that contains everything to run the R code and reproduce the results.
Try it out!
Also with an article at ACM REP 2025
14.08.2025 21:26 — 👍 2 🔁 1 💬 1 📌 0
Coming to @programming-conf.bsky.social? Submit a Lightning Talk proposal to share & discuss what you are currently working on!
2025.programming-conference.org/track/progra...
20.05.2025 10:08 — 👍 2 🔁 3 💬 0 📌 0
Prague Programming Languages and Systems Research Network - PRG • PRG
We are a group of researchers based in Prague interested in programming languages and systems.
Interested in PL and located in Prague?
We created a network about PL in Prague with @tomasp.net and colleagues: courses at FIT and at Matfyz, an amazing reading group and much more!
25.01.2025 18:21 — 👍 2 🔁 2 💬 0 📌 0