about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-11-04 09:41:12 +0000
committerTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-11-06 17:23:55 +0000
commitb9d06fdf2e4a4dc96d009bd178c3ede5995c174f (patch)
tree3215e6fe23d3b2db30804099016dc94a1806cf43
parentb373eb2e06071dd5558ec9a51d8ff9bbac4930e4 (diff)
downloadfocaccia-b9d06fdf2e4a4dc96d009bd178c3ede5995c174f.tar.gz
focaccia-b9d06fdf2e4a4dc96d009bd178c3ede5995c174f.zip
Update README instructions to include steps for tracing non-deterministic programs
-rw-r--r--README.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/README.md b/README.md
index 698c3e1..b1afe2b 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,20 @@ Note: the above workflow assumes that you used `nix build .#qemu-plugin` to buil
 
 Using this workflow, Focaccia can determine whether a mistranslation occured in that particular QEMU run.
 
+Focaccia includes support for tracing non-deterministic programs using the RR debugger, requiring a
+similar workflow:
+
+```bash
+rr record -o bug.rr.out
+rr replay -s 12345 bug.rr.out
+capture-transforms --remote localhost:12345 --deterministic-log bug.rr.out -o oracle.trace bug.out
+```
+
+Note: the `rr replay` call prints the correct binary name to use when invoking `capture-transforms`,
+it also prints program output. As such, it should be invoked separately as a foreground process.
+
+Note: we currently do not support validating such programs on QEMU.
+
 ### Box64
 
 For validating Box64, we create the oracle and test traces and compare them