~/talk

Implementing the C++ Core Guidelines’ Lifetime Safety Profile in Clang

Talkat CppCon 2018 · 2018-09-23..09-28· [c-and-cpp, security]
links:none on file
links:none on file
slides:none on file

Clang-based checker implements Herb Sutter’s Lifetime Safety Profile using Clang AST/type trees and control-flow graphs and flags use-after-invalidation and null-dereference for pointers, iterators and string_view; it models P-sets and P-maps and propagates null info through CFG branches. Implementation is alpha (about eight weeks of recent work), runs on real LLVM translation units with measured overhead <5% compile-time when building objects, and exposes code at github.com/mgehre/clang and cppx.godbolt.org. Missing or incomplete: aggregate expansion, use-after-move, explicit annotations and some lambda/escape cases; heuristics drive inter-function lifetime derivation.

AI-written summary · about

  1. 0:00Introduction to lifetime safety
  2. 3:58Paper and implementation overview
  3. 5:27Intra-function analysis examples
  4. 9:49Type classification in analysis
  5. 12:43P-sets and P-maps explained
  6. 17:43Control flow and merging P-sets
  7. 18:48Null tracking in analysis
  8. 20:17Inter-function analysis challenges
  9. 23:55Lifetime annotations and heuristics
  10. 34:14Deriving pointers from arguments
  11. 37:07Current performance and status
  12. 40:39Reddit examples and limitations
  13. 47:24Feedback and future plans
  14. 1:01:37Q&A session
~/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.