Pierre Donat-Bouillud's Avatar

Pierre Donat-Bouillud

@pierredb.bsky.social

Computer science researcher/assistant professor at CVUT (Prague) Research on programming languages, including R www.pdonatbouillud.fr

21 Followers  |  102 Following  |  5 Posts  |  Joined: 25.02.2024  |  1.5587

Latest posts by pierredb.bsky.social on Bluesky


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.

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.

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
Preview
Re-executability and reproducibility of R code Do you try to make your R scripts, R markdown notebooks, R Quarto notebooks re-executable and/or reproducible? Tell us more!

Fill out our quick survey about re-executability and reproducibility in R to help us improve R4R

forms.gle/9xMmmLAEnjUo...

14.08.2025 21:26 — 👍 0    🔁 0    💬 1    📌 0
Preview
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
Post image

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
Preview
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

@pierredb is following 19 prominent accounts