~/talk

Building code analysis tools at Twitter

Talkat Scala Days Copenhagen 2017 · 2017-05-30..06-02· [developer-experience]
name:Stu Hood
github:stuhood
slides:none on file

Twitter builds a pipeline that extracts compiler facts into compact semanticdb files (names, denotations, compiler messages, inferred “sugars”), via a Scala compiler plugin that targets Scala 2.11 and 2.12, and stores one .semanticdb per source file. That data powers tooling: an IDE‑style go‑to, diagnostic ranges, and incremental transforms — e.g. Scala Fix removal of unused imports runs without recompiling. Work is integrated with a scalable graph index (Kite graph indexing) for multi‑language queries; the system is a technology preview but already works on large codebases.

AI-written summary · about

  1. 0:00Intro
  2. 1:19State of Source
  3. 3:52Achieving the promise of a monorepo
  4. 4:21A day in the life of a core lib dev
  5. 5:32Avoid deprecations in the common case
  6. 9:53Code comprehension
  7. 11:01Code review
  8. 11:27Code evolution
  9. 12:26Executing the vision
  10. 13:48Nextgen metaprogramming library for Scala
  11. 17:45Old-school semantic tooling for Scala
  12. 20:38Second attempt (scalameta, 2014)
  13. 23:35Semantic database
  14. 25:02Live demo: semantic db for an example Scala file
  15. 33:49Early feedback
  16. 37:07Kythe: What is it?
  17. 37:45Kythe: A schema for a semantic graph...
  18. 38:24Kythe: Value proposition
  19. 39:38Kythe: Language-agnostic tooling?
  20. 41:12Kythe: Adding Scala support
  21. 45:50Kythe: Complexity / generality
  22. 48:25Future work
  23. 50:38Twitter is hiring
~/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.