~/talk

How we completely rewrote our static code analyzer for Kotlin

Talkat Jfokus 2023 · 2023-02-06..02-08· [java, testing]
slides:none on file

A complete rewrite replaces the old Slang intermediate with Kotlin’s native tree and Kotlin compiler semantics so rules use the compiler’s binding context instead of text heuristics; rule count rises from 40 to 108 rules, security and regex checks appear, and external linters stay supported. Initial issues include a slow PSI-based implementation and an expensive mistake of building binding contexts per file causing OOMs; caching the context once cuts analysis from minutes or hours down to about 250 ms on SonarCloud and resolves most performance complaints.

AI-written summary · about

  1. 0:00Start
  2. 13:52Kotlin AST variants
  3. 24:56BindingContext Slices
  4. 30:36Problems
  5. 38:50Achievements
  6. 39:33Takeaways
~/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.