diff options
| author | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-11-04 09:41:12 +0000 |
|---|---|---|
| committer | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2025-11-06 17:23:55 +0000 |
| commit | b9d06fdf2e4a4dc96d009bd178c3ede5995c174f (patch) | |
| tree | 3215e6fe23d3b2db30804099016dc94a1806cf43 | |
| parent | b373eb2e06071dd5558ec9a51d8ff9bbac4930e4 (diff) | |
| download | focaccia-b9d06fdf2e4a4dc96d009bd178c3ede5995c174f.tar.gz focaccia-b9d06fdf2e4a4dc96d009bd178c3ede5995c174f.zip | |
Update README instructions to include steps for tracing non-deterministic programs
| -rw-r--r-- | README.md | 14 |
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 |