~/talk

C-2PO: A Weakly Relational Pointer Domain: “These Are Not the Memory Cells You Are(…)

Talkat NSAD 2024 · on Tuesday, 2024-10-22· [c-and-cpp]
links:none on file
links:none on file
links:none on file
slides:none on file

A new weakly relational pointer domain for C, C-2PO, tracks must-equalities and -disequalities between pointer expressions, models address arithmetic confined to single objects, and implements a quantitative congruence closure (union‑find with offsets) plus block-disequalities. It is implemented in Goblint, instruments coreutils to generate ~20k assertions (C-2PO verifies its own invariants; a non-relational analysis proves ~20%, a relational Varoo ~40%), and slows SV-COMP reachability runs by under 3x for 95% of cases.

AI-written summary · about

  1. 0:00C-2PO introduction
  2. 1:02Weakly relational domains
  3. 2:24C-2PO and two-pointer logic
  4. 3:48Pointer expressions in C-2PO
  5. 5:53Block disequalities and allocation
  6. 7:18Kernel representation
  7. 10:27Meet operation in C-2PO
  8. 11:52Join and widening in C-2PO
  9. 15:01Assignments and pointer changes
  10. 17:29Dynamic memory with malloc
  11. 18:11Coreutils evaluation
  12. 19:35SV-COMP benchmarks
  13. 20:37Precision limits and future
  14. 21:42Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.