Undefined-behaviour detection
Executes code under an interpreter or instrumentation that detects memory-safety and aliasing violations.
V1028 technique
4 of 256 scanned repositories run it (2%)
Sub-techniques
2
| ID | Name | Description |
|---|---|---|
V1028.001 | Interpreter-based checking | Run tests under an interpreter that tracks every pointer (Miri). |
V1028.002 | Sanitizers | Compile with address, thread or undefined-behaviour sanitizers and run the tests. |
Craft it
- Run the unsafe-heavy test subset under the checker in CI.
- Add sanitizer builds as separate matrix entries.
- Treat every report as a bug; there are no false positives to baseline.
Reverse engineer it
Signs that a codebase already runs this technique, and where to read how it is configured.
- cargo miri test or -Zsanitizer flags in workflows.
- ASAN_OPTIONS or -fsanitize in build scripts.
Where the scanned repositories configure it:
.github/workflows/*.ymlin 4 repositoriesMakefilein 1 repositories
Detected by the scanner as: Undefined-behaviour detection (memory-safety and aliasing violations in unsafe code.)
Open-source packages
2
- Miri rust-lang/miri
- Sanitizers (ASan, TSan, UBSan) google/sanitizers
Tools seen in scans
by repositories that run them
| Tool | Repos | Command seen | Runs in | Docs |
|---|---|---|---|---|
miri |
4 | cargo miri setup |
ci, local | docs |
Procedure examples
repositories that run it, most-starred first
| Repository | Tools | Runs in | Evidence |
|---|---|---|---|
| zed-industries/zed | miri |
ci | .github/workflows/run_tests.yml jobs.miri_scheduler.steps[5] (run_tests::miri... |
| pola-rs/polars | miri |
ci, local | .github/workflows/lint-rust.yml jobs.miri.steps[3] (Set up miri) |
| tokio-rs/tokio | miri |
ci | .github/workflows/ci.yml jobs.miri-lib.steps[4] (miri) |
| sst/opencode | miri |
ci | .github/workflows/check-process-daemon.yml jobs.miri.steps[2] |