SERG Lunch: Deep Learning Type Inference for Dynamic Programming Languages

Apr 22, 2020 12:30 — 13:30

Dynamic programming languages, such as Python and JavaScript, enable fast prototyping. This leads to unexpected runtime behavior, suboptimal IDE support, and type errors. To mitigate these issues, dynamic languages added support for type annotations, which allows developers to specify types for the variables. However, the process of manually annotating codebases is cumbersome and error-prone. Aside from the traditional static analyzers, Machine Learning (ML) models can be employed to aid the type annotation process. While static approaches suffer from unsound and imprecise type inference, ML models are trained on large annotated codebases and benefit from natural language information. Recent experimental studies show the effectiveness of ML approaches in the type annotation task.

Slides are available here.