TypeScript Analysis in Prime Video

Daniel Schoepe

Abstract

TypeScript is a typed version of JavaScript widely used across Amazon, but poses challenges for static analysis: The language supports many intricate features used in practice, such as callbacks and higher-order functions, dynamic field access, and asynchronous code. At the same time, the size of industrial code bases such as the Prime Video application makes a highly precise whole-program analysis intractable. In this talk, we present how we approach this trade-off in Prime Video with a lightweight whole-program analysis followed by a more precise goal-directed analysis of potential bug locations. Our goal-directed analysis uses an imprecise call graph and points-to information generated upfront to guide a more expensive goal-directed analysis that attempts to prove that potential bugs cannot happen via abstract interpretation backed by an SMT solver.

Date
May 20, 2022 3:00 PM — 4:00 PM
Event
Live talk in EDIT 8103
Location
Room EDIT 8103, Campus Johanneberg
Chalmers University of Technology
Rännvägen 6B, Gothenburg, 412 58

Daniel Schoepe is an Applied Scientist working in the Amazon Prime Video Automated Reasoning team. His work is focused on proving properties of TypeScript programs using an in-house abstract interpretation framework written in Scala 3. Daniel has a PhD in Computer Science from Chalmers University of Technology, Sweden, where he worked on language-based security and information-flow control.