Write a Blog >>
PLDI 2020
Mon 15 - Fri 19 June 2020
Wed 17 Jun 2020 05:00 - 05:20 at PLDI Research Papers live stream - Machine Learning I Chair(s): Antonio Filieri

Type inference over partial contexts in dynamically typed languages is challenging. In this work, we present a graph neural network model that predicts types by probabilistically reasoning over a program's structure, names, and patterns. The network uses deep similarity learning to learn a TypeSpace — a continuous relaxation of the discrete space of types — and how to embed the type properties of a symbol (i.e. identifier) into it. Importantly, our model can employ one-shot learning to predict an open vocabulary of types, including rare and user-defined ones. We realise our approach in $\textsc{Typilus}$ for Python that combines the TypeSpace with an optional type checker. We show that Typilus accurately predicts types. $\textsc{Typilus}$ confidently predicts types for 70% of all annotatable symbols; when it predicts a type, that type optionally type checks 95% of the time. $\textsc{Typilus}$ can also find incorrect type annotations; two important and popular open source libraries, fairseq and allennlp, accepted our pull requests that fixed the annotation errors $\textsc{Typilus}$ discovered.

Wed 17 Jun
Times are displayed in time zone: (GMT-07:00) Pacific Time (US & Canada) change

pldi-2020-papers
05:00 - 06:00: PLDI Research Papers - Machine Learning I at PLDI Research Papers live stream
Chair(s): Antonio FilieriImperial College London

YouTube lightning session video

pldi-2020-papers05:00 - 05:20
Talk
Miltiadis AllamanisMicrosoft Research, Earl T. BarrUniversity College London, UK, Soline DucoussoENSTA Paris, France, Zheng GaoUniversity College London, UK
pldi-2020-papers05:20 - 05:40
Talk
Jianan YaoColumbia University, USA, Gabriel RyanColumbia University, USA, Justin WongColumbia University, USA, Suman JanaColumbia University, USA, Ronghui GuColumbia University, USA
pldi-2020-papers05:40 - 06:00
Talk
Ke WangVisa Research, Zhendong SuETH Zurich, Switzerland