~/talk

On the Soundness of Auto-Completion Services for Dynamically Typed Languages

Talkat GPCE 2024 · 2024-10-21..10-22· [developer-experience]
links:none on file
links:none on file
slides:none on file

Claims a name-sound auto-complete for dynamic languages by combining abstract interpretation with annotated scope graphs and a context-dependent name resolution calculus, producing per-cursor scope models that mark declarations as definitely or maybe present. Prototype on a Python subset generates only definitely-safe completions (trading recall for precision), beats Pylance/Jedi/PyCharm on several dynamic-field and global-introduction cases, fails to suggest values from unexecuted functions, and reports results as precision/recall pairs rather than raw counts.

AI-written summary · about

  1. 0:00Auto-completion services intro
  2. 1:46Completion candidate challenges
  3. 3:29Sound completion candidates
  4. 5:13Abstract interpretation for names
  5. 7:18Scope graphs from heaps
  6. 9:06Semantics-based candidates
  7. 11:33Annotated scope graphs
  8. 13:19Optimizing scope graphs
  9. 15:05Soundness in Python
  10. 19:20Future work
  11. 20:44Summary
  12. 21:11Question and answer 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.