~/talk

Initializing Global Objects: Time and Order

Talkat OOPSLA 2023 · 2023-10-23..10-27· [software-architecture]
speakerdeck:liufengyun
links:none on file
name:David Hua
links:none on file
name:Enze Xing
links:none on file
slides:none on file

Claims a static, flow-sensitive interprocedural analysis that enforces initialization-time irrelevance plus partial ordering to eliminate Scala global-object initialization errors at compile time. The implementation lives in the Scala 3 compiler, tracks ownership of mutable state created during initialization, introduces region contexts for tunable context-sensitivity, produces explanatory warnings with dependency traces, and enables static scheduling (removing runtime init checks). Artifacts and an evaluated implementation are available.

AI-written summary · about

  1. 0:00Welcome
  2. 0:45Global variables and initialization
  3. 3:37Static analysis for safety
  4. 7:16Limitations of whole program analysis
  5. 8:01Initialization time irrelevance principle
  6. 9:28Enforcing with ownership tracking
  7. 12:19Static scheduling of initialization
  8. 13:23Advantages and usability issues
  9. 14:30Scala 3 compiler integration and demo
  10. 15:15Q&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.