~/talk

Inside a static analyser: type system

links:none on file
slides:none on file

PVS‑Studio’s C/C++ analyser replaces slow encoded string representation of types with a class‑hierarchy and factory that interns every unique type, yielding single‑instance types and faster equality checks. It adds canonical types to collapse typedef chains, uses a pointer‑with‑qualifier byte trick to store const/volatile in low bits, and exposes compile‑time‑style traits (no virtuals) for cheap checks like “is pointer to int”. Implementation targets practical speed and memory wins and is already used to simplify rule logic and reduce repeated string traversal.

AI-written summary · about

  1. 0:00Intro
  2. 1:03What is this about
  3. 1:58A static analyser?
  4. 5:32Back to types
  5. 7:58Representing types
  6. 10:01Encoding
  7. 11:58One tiny issue
  8. 12:51Another tiny issue
  9. 16:09Huge problems
  10. 19:00Let's estimate
  11. 22:05The better system
  12. 23:16Structure
  13. 25:32Canonical type
  14. 31:53Qualifiers
  15. 36:29Quality pointer
  16. 37:02How it fits together
  17. 39:29Profit
  18. 42:42Polymorphism?
  19. 45:41Another way
  20. 46:02Traits
  21. 48:40Summary
~/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.