~/talk

Misconceptions About Loops in C

Talkat SOAP 2024 · on Tuesday, 2024-06-25· [c-and-cpp, testing]
links:none on file
links:none on file
slides:none on file

Static analysis for C loops fails on many surprising edge cases: examples include Duff's device, macros that build reentrant state machines, do‑while loops with conditional exits, CFGs that remove back edges, inlining that creates multi‑loop exits, jump threading that shortcuts into chaotic control flow, and empty loop body errors that lead to null pointer crashes. The authors supply artifact testcases (DOI links), report running examples through CBMC and finding unexplained exponential behavior, and recommend APIs that return all entry points, explicit preconditions with error messages, cross‑phase loop tracking, and systematic tests.

AI-written summary · about

  1. 0:00Introduction
  2. 6:34Duff's device complexities
  3. 8:22Unconditional jumps myth
  4. 10:33Control flow loop pitfalls
  5. 10:53Nested loops inlining surprises
  6. 12:18Jump threading chaos
  7. 14:05Empty loops API risks
  8. 15:31Loop merging surprises
  9. 16:12Loop API recommendations
  10. 17:58Testing loop analysis cases
  11. 18:23Q&A loop analysis
  12. 19:25Q&A slides
~/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.