Building Code Analysis Tools at Twitter
Offered By: Scala Days Conferences via YouTube
Course Description
Overview
Explore the development of advanced code analysis tools at Twitter in this Scala Days Copenhagen 2017 conference talk. Dive into the challenges of managing millions of lines of Scala code and learn how intelligent developer tools can significantly improve code browsing, review, and evolution processes. Discover the vision and hands-on experience with a next-generation code analysis toolkit based on the scala.meta semantic API. Follow the journey from the state of source code management to achieving the promise of a monorepo, and understand the daily challenges faced by core library developers. Gain insights into avoiding deprecations, enhancing code comprehension, and streamlining code review and evolution. Examine the execution of this vision through nextgen metaprogramming libraries for Scala, old-school semantic tooling, and the introduction of semantic databases. Witness a live demo of semantic db for an example Scala file and explore the potential of Kythe for language-agnostic tooling. Understand the complexities of adding Scala support to Kythe and get a glimpse of future work in this field. For those interested in joining the team, note that Twitter is hiring in this domain.
Syllabus
Intro
State of Source
Achieving the promise of a monorepo
A day in the life of a core lib dev
Avoid deprecations in the common case
Code comprehension
Code review
Code evolution
Executing the vision
Nextgen metaprogramming library for Scala
Old-school semantic tooling for Scala
Second attempt (scalameta, 2014)
Semantic database
Live demo: semantic db for an example Scala file
Early feedback
Kythe: What is it?
Kythe: A schema for a semantic graph...
Kythe: Value proposition
Kythe: Language-agnostic tooling?
Kythe: Adding Scala support
Kythe: Complexity / generality
Future work
Twitter is hiring
Taught by
Scala Days Conferences
Related Courses
Teaching Domain Specific Languages in ScalaScala Days Conferences via YouTube Why Dolly Is Just the Beginning for Open LLM Models
Scala Days Conferences via YouTube Building Billion Node Graphs for Machine Learning
Scala Days Conferences via YouTube How Does Incremental Compilation Work with Scala 3
Scala Days Conferences via YouTube AI Assisted Development
Scala Days Conferences via YouTube