CHERI static analysis
summary
Adds CHERI support to the Clang Static Analyzer and implements four CHERI-aware checkers: a pointer alignment checker, a capability-copy detector, and a provenance-aware pointer‑as‑integer checker plus a simple sizeof-pointer IST matcher. Analysis is path‑sensitive and interprocedural within a TU, runs about 4–5× slower than compile, and is exercised on 300+ CHERI ports. Pointer alignment and provenance warnings produce the most true positives; capability-copy detection yields many false positives that need refinement.
AI-written summary · about
chapters (9)
- 0:00Static analysis for CHERI
- 2:13CHERI portability issues
- 3:57Extending Clang analyzer for CHERI
- 6:29Pointer alignment in CHERI
- 10:47Capability copy detection
- 11:54Pointer provenance in CHERI
- 13:17Pointer size checker
- 14:22Results and evaluation
- 15:25Q&A
related talks
19mStatic Analysis for CHERI
18mWhat’s next for memory safety?
01h 33mHands-on Introduction to CHERI
10mCHERI in out-of-order microarchitectures
20mMaking CHERI Accessible
27mA CHERI C Memory Model for Verified Temporal Safety
23mInterpreter Memory Safety via Differential Fuzzing with a CHERI on Top
31mMemory Safety: The Pernicious Challenge
